<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- saved from url=(0115)http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru-ru" lang="ru-ru" slick-uniqueid="3"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><script charset="UTF-8" async="" src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/code.js"></script><script charset="UTF-8" async="" src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/collect.js"></script><script type="text/javascript" async="" src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/watch.js"></script>
  <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
  <!--<base href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html">--><base href=".">
  
  <meta name="keywords" content="драйвер,периферия,алгоритмы,кнопки,библиотеки">
  <meta name="rights" content="http://chipeanble.ru">
  <meta name="title" content="Библиотека для опроса матричной клавиатуры 4x4 и 3х4">
  <meta name="author" content="Pashgan">
  <meta name="image" content="http://chipenable.ru">
  <meta name="description" content="Написал программный модуль для опроса матричной клавиатуры. 

Особенности модуля:
- простая интеграция с готовым проектом
- поддержка всех микроконтроллеров семейства mega
- возможность использования с любым из трех компиляторов IAR, GCC, CodeVision,
- поддержка клавиатур 4х4 и 3х4
- поддержка работы на общей шине
- возможность подключения к одному или двумя портами мк
- программная антидребезговая защита
- возможность задания произвольных кодов кнопок">
  <meta name="generator" content="Joomla! - Open Source Content Management">
  <title>Библиотека для опроса матричной клавиатуры 4x4 и 3х4</title>
  <link href="http://chipenable.ru/index.php/component/jcomments/feed/com_k2/109.html" rel="alternate" type="application/rss+xml" title="Библиотека для опроса матричной клавиатуры 4x4 и 3х4">
  <link href="http://chipenable.ru/favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon">
  <link rel="stylesheet" href="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/modal.css" type="text/css">
  <link rel="stylesheet" href="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/k2.css" type="text/css">
  <link rel="stylesheet" href="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/style.css" type="text/css">
  <link rel="stylesheet" href="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/style(1).css" type="text/css">
  <script type="text/javascript" async="" src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/ga.js"></script><script src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/mootools-core.js" type="text/javascript"></script>
  <script src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/core.js" type="text/javascript"></script>
  <script src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/mootools-more.js" type="text/javascript"></script>
  <script src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/modal.js" type="text/javascript"></script>
  <script src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/jquery.min.js" type="text/javascript"></script>
  <script src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/k2.js" type="text/javascript"></script>
  <script src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/openapi.js" type="text/javascript"></script>
  <script src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/jcomments-v2.3.js" type="text/javascript"></script>
  <script src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/ajax.js" type="text/javascript"></script>
  <script src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/script.js" type="text/javascript"></script>
  <script src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/punycode.js" type="text/javascript"></script>
  <script type="text/javascript">

		window.addEvent('domready', function() {

			SqueezeBox.initialize({});
			SqueezeBox.assign($$('a.modal'), {
				parse: 'rel'
			});
		});
var K2SitePath = '/';
VK.init({apiId: 2452029, onlyWidgets: true});
				function jc_vk_show_hide(show, hide, self){
					document.getElementById('jc_vk_share_'+hide).style.display='none'; 
					document.getElementById('jc_vk_share_'+show).style.display='block';
					self.parentNode.className=show;
				}

				function getXmlHttp(){ 
					var xmlhttp; 
					try { 
					xmlhttp = new ActiveXObject('Msxml2.XMLHTTP'); 
					} catch (e) { 
					try { 
					xmlhttp = new ActiveXObject('Microsoft.XMLHTTP'); 
					} catch (E) { 
					xmlhttp = false; 
					} 
					} 
					if (!xmlhttp && typeof XMLHttpRequest!='undefined') { 
					xmlhttp = new XMLHttpRequest(); 
					} 
					return xmlhttp; 
				   } 

				   function addComment(num, last_comment, date, sign) { 

					var xmlhttp = getXmlHttp() 
					xmlhttp.open('GET', 'http://chipenable.ru/plugins/k2/jcomments/vk.php?id=109&num='+num, true); 
					xmlhttp.onreadystatechange = function() { 
					if (xmlhttp.readyState == 4) { 
					if(xmlhttp.status == 200) { 
					//alert(xmlhttp.responseText); 
					 } 
					} 
					}; 
					xmlhttp.send(null); 
				    }                 

				
  </script>
  <script src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/openapi(1).js" type="text/javascript" charset="windows-1251"></script>

  <link rel="stylesheet" href="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/system.css" type="text/css">
  <link rel="stylesheet" href="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/general.css" type="text/css">

  <link rel="stylesheet" type="text/css" href="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/template.css">
  <!--[if IE 6]><link rel="stylesheet" href="/templates/icons003/gruenerapfel/css/template.ie6.css" type="text/css" media="screen" /><![endif]-->
  <!--[if IE 7]><link rel="stylesheet" href="/templates/icons003/gruenerapfel/css/template.ie7.css" type="text/css" media="screen" /><![endif]-->
  <link rel="stylesheet" type="text/css" href="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/template-ic.css">
  <script type="text/javascript" src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/script(1).js"></script>
		
	<style type="text/css">
	div.Header { height: 135px; }
div.Header-jpeg { height: 135px; }
	</style>
	


<script type="text/javascript">
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-21108056-1']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();
</script>
<!-- Put this script tag to the <head> of your page -->
<script type="text/javascript" src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/openapi(2).js"></script>

<script type="text/javascript">
  VK.init({apiId: 2452029, onlyWidgets: true});
</script>


<script charset="utf-8" src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/watch.js"></script><style type="text/css">body .ya-partner .ya-partner__hidden {
    display: none !important;
}
 .ya-partner {
    font-size: 100% !important;
    position: relative !important;
    display: block !important;
    overflow: hidden !important;
    text-align: left !important;
    line-height: normal !important;
    border-radius: 4px !important;
    -webkit-box-sizing: border-box !important;
    -moz-box-sizing: border-box !important;
    box-sizing: border-box !important;
    white-space: normal !important;
}
 .ya-partner__l-table, .ya-partner__l-tr, .ya-partner__l-td {
    background: transparent none no-repeat scroll 0 0 !important;
    border: none !important;
    border-radius: none !important;
    border-spacing: 0 !important;
    border-collapse: collapse !important;
    -moz-box-sizing: content-box !important;
    box-sizing: content-box !important;
    clear: none !important;
    clip: auto !important;
    color: inherit !important;
    cursor: auto !important;
    empty-cells: show !important;
    float: none !important;
    font: inherit !important;
    font-variant: normal !important;
    font-weight: normal !important;
    height: auto !important;
    letter-spacing: normal !important;
    line-height: normal !important;
    margin: 0 !important;
    max-height: none !important;
    max-width: none !important;
    min-height: 0 !important;
    min-width: 0 !important;
    outline: none !important;
    overflow: visible !important;
    padding: 0 !important;
    position: static !important;
    table-layout: auto !important;
    text-align: left !important;
    text-decoration: none !important;
    text-indent: 0 !important;
    text-transform: none !important;
    vertical-align: middle !important;
    visibility: visible !important;
    white-space: normal !important;
    width: auto !important;
    word-spacing: normal !important;
    z-index: auto !important;
}
 .ya-partner__domain-link {
    text-decoration: none !important;
}
 .ya-partner__domain-link:hover {
    text-decoration: underline !important;
}
 .ya-partner, .ya-partner__ads-l, .ya-partner__ads-l em, .ya-partner__item, .ya-partner__title-link-text, .ya-partner__text, .ya-partner__domain-link, .ya-partner__region, ya-partner__pic-container, ya-partner__pic, .ya-partner__list tbody, .ya-partner__list tr, .ya-partner__list td {
    font-size: inherit !important;
    font-style: normal !important;
    text-indent: 0 !important;
}
 .ya-partner_text_clickable a.ya-partner__text-link {
    text-decoration: none !important;
    cursor: pointer !important;
}
 .ya-partner_text_clickable a.ya-partner__text-link:hover {
    text-decoration: underline !important;
}
 .ya-partner__pic-container {
    display: block !important;
    margin: 3px 0 !important;
}
 .ya-partner__item_piclayout_left .ya-partner__pic-container {
    margin: 0 0.4em 0 0 !important;
}
 .ya-partner__item_piclayout_float .ya-partner__pic-container {
    margin: 0.4em 0.4em 0 0 !important;
    float: left !important;
}
 .ya-partner__item_piclayout_float .ya-partner__address, .ya-partner__item_piclayout_float .ya-partner__domain-link, .ya-partner__item_piclayout_float .ya-partner__region {
    white-space: nowrap !important;
}
 .ya-partner__clearfix {
    background: transparent none no-repeat scroll 0 0 !important;
    border: none !important;
    border-radius: none !important;
    border-spacing: 0 !important;
    border-collapse: collapse !important;
    -moz-box-sizing: content-box !important;
    box-sizing: content-box !important;
    clear: both !important;
    clip: auto !important;
    color: inherit !important;
    cursor: auto !important;
    empty-cells: show !important;
    float: none !important;
    font: inherit !important;
    font-variant: normal !important;
    font-weight: normal !important;
    height: 0 !important;
    letter-spacing: normal !important;
    line-height: 0 !important;
    margin: 0 !important;
    max-height: none !important;
    max-width: none !important;
    min-height: 0 !important;
    min-width: 0 !important;
    outline: none !important;
    overflow: visible !important;
    padding: 0 !important;
    position: static !important;
    table-layout: auto !important;
    text-align: left !important;
    text-decoration: none !important;
    text-indent: 0 !important;
    text-transform: none !important;
    vertical-align: baseline !important;
    visibility: visible !important;
    white-space: normal !important;
    width: auto !important;
    word-spacing: normal !important;
    z-index: auto !important;
    font-size: 0 !important;
    display: block !important;
}
 .ya-partner__pic, .ya-partner__pic:link, .ya-partner__pic:hover, .ya-partner__pic:visited {
    background: transparent 0 0 no-repeat scroll !important;
    border: none !important;
    border-radius: none !important;
    border-spacing: 0 !important;
    border-collapse: collapse !important;
    -moz-box-sizing: content-box !important;
    box-sizing: content-box !important;
    clear: none !important;
    clip: auto !important;
    color: inherit !important;
    cursor: pointer !important;
    empty-cells: show !important;
    float: none !important;
    font: inherit !important;
    font-variant: normal !important;
    font-weight: normal !important;
    height: auto !important;
    letter-spacing: normal !important;
    line-height: normal !important;
    margin: 0 !important;
    max-height: none !important;
    max-width: none !important;
    min-height: 0 !important;
    min-width: 0 !important;
    outline: none !important;
    overflow: visible !important;
    padding: 0 !important;
    position: static !important;
    table-layout: auto !important;
    text-align: left !important;
    text-decoration: none !important;
    text-indent: 0 !important;
    text-transform: none !important;
    vertical-align: baseline !important;
    visibility: visible !important;
    white-space: normal !important;
    width: auto !important;
    word-spacing: normal !important;
    z-index: auto !important;
    display: block !important;
}
 .ya-partner yatag {
    text-align: left !important;
    font-family: inherit !important;
}
 .ya-partner__list {
    display: block !important;
    line-height: normal !important;
    font-size: inherit !important;
    text-indent: 0 !important;
}
 .ya-partner__title-link, .ya-partner__address, .ya-partner__ads-link {
    background: transparent none no-repeat scroll 0 0 !important;
    border: none !important;
    border-radius: none !important;
    border-spacing: 0 !important;
    border-collapse: collapse !important;
    -moz-box-sizing: content-box !important;
    box-sizing: content-box !important;
    clear: none !important;
    clip: auto !important;
    color: inherit !important;
    cursor: pointer !important;
    empty-cells: show !important;
    float: none !important;
    font: inherit !important;
    font-variant: normal !important;
    font-weight: normal !important;
    height: auto !important;
    letter-spacing: normal !important;
    line-height: normal !important;
    margin: 0 !important;
    max-height: none !important;
    max-width: none !important;
    min-height: 0 !important;
    min-width: 0 !important;
    outline: none !important;
    overflow: visible !important;
    padding: 0 !important;
    position: static !important;
    table-layout: auto !important;
    text-align: left !important;
    text-decoration: none !important;
    text-indent: 0 !important;
    text-transform: none !important;
    vertical-align: baseline !important;
    visibility: visible !important;
    white-space: normal !important;
    width: auto !important;
    word-spacing: normal !important;
    z-index: auto !important;
    font-size: inherit !important;
    font-style: normal !important;
    display: inline !important;
}
 a.ya-partner__address:hover {
    text-decoration: underline !important;
}
 .ya-partner__address {
    margin-right: 0.3em !important;
}
 a.ya-partner__ads-link:link, a.ya-partner__ads-link:hover, a.ya-partner__ads-link:visited {
    text-decoration: none !important;
    font-weight: normal !important;
}
 .ya-partner__ads-link em {
    font-style: normal !important;
    font-weight: normal !important;
    background: none repeat scroll 0 0 transparent !important;
}
 .ya-partner__item {
    border-radius: 4px !important;
    border: none !important;
    padding: 0.2em 0.3em !important;
    line-height: normal !important;
}
 body .ya-partner__item_pos_last {
    margin-bottom: 0 !important;
}
 .ya-partner__sitelinks {
    display: block !important;
    padding: 0 0 0.3em !important;
    margin-top: -0.1em !important;
}
 .ya-partner__sitelink {
    padding: 0.08em 0 0.08em 0 !important;
    vertical-align: middle !important;
    display: inline-block !important;
}
 .ya-partner__sitelinks wbr {
    display: none !important;
}
 .ya-partner__sitelinks-text {
    text-decoration: underline !important;
}
 .ya-partner_text_clickable a.ya-partner__sitelinks-text {
    text-decoration: none !important;
}
 .ya-partner_text_clickable a.ya-partner__sitelinks-text:hover {
    text-decoration: underline !important;
}
 .ya-partner__sitelinks-inline-delim {
    display: inline !important;
    padding: 0 0.8em !important;
}
 .ya-partner__url {
    font-size: 87% !important;
    display: block !important;
}
 body .ya-partner__hide-urls .ya-partner__url {
    display: none !important;
}
 body .ya-partner__overflow-hide-urls .ya-partner__url {
    display: none !important;
}
 .ya-partner__warn {
    font-size: 70% !important;
    border-radius: 2px !important;
    padding: 0.25em 0.3em 0.25em !important;
    line-height: 1.1em !important;
}
 .ya-partner__agewarn-cont {
    display: inline-block !important;
}
 yatag.ya-partner__agewarn {
    font: normal normal 11px Tahoma, Arial, sans-serif !important;
    border-radius: 4px !important;
    padding: 0 1px !important;
}
 .ya-partner__ads {
    position: relative !important;
    display: block !important;
    white-space: nowrap !important;
    font-size: 87% !important;
}
 .ya-partner__icon {
    font: 0/0 a !important;
    margin: 0 4px -2px 0 !important;
    vertical-align: baseline !important;
    border: 0 !important;
    display: inline !important;
    width: 16px !important;
    height: 16px !important;
    float: none !important;
}
 .ya-partner__ads-link {
    position: relative !important;
    z-index: 10 !important;
    margin-left: 5px !important;
    line-height: normal !important;
    white-space: nowrap !important;
}
 .ya-partner__ads-l {
    border-radius: 4px 0 0 0 !important;
    display: inline-block !important;
    position: relative !important;
    background: none repeat scroll 0 0 transparent !important;
    padding: 0 .75em 1px 0 !important;
}
 * html .ya-partner__ads-l {
    display: inline !important;
    zoom: 1 !important;
}
 a.ya-partner__ads-link-l,a.ya-partner__ads-link-l:link,a.ya-partner__ads-link-l:hover,a.ya-partner__ads-link-l:visited,a.ya-partner__ads-link-l:active,a.ya-partner__ads-link-l:focus {
    font-weight: normal !important;
}
 a.ya-partner__title-link,a.ya-partner__title-link:link,a.ya-partner__title-link:hover,a.ya-partner__title-link:visited,a.ya-partner__title-link:active,a.ya-partner__title-link:focus {
    font-weight: normal !important;
    line-height: normal !important;
    text-decoration: none !important;
}
 a.ya-partner__title-link .ya-partner__title-link-text,a.ya-partner__title-link .ya-partner__title-link-text:link,a.ya-partner__title-link .ya-partner__title-link-text:hover,a.ya-partner__title-link .ya-partner__title-link-text:visited,a.ya-partner__title-link .ya-partner__title-link-text:active,a.ya-partner__title-link .ya-partner__title-link-text:focus {
    display: inline !important;
    text-decoration: underline !important;
}
 .ya-partner_text_clickable a.ya-partner__title-link .ya-partner__title-link-text {
    text-decoration: none !important;
}
 .ya-partner_text_clickable a.ya-partner__title-link:hover .ya-partner__title-link-text {
    text-decoration: underline !important;
}
 .ya-partner_margin_yes .ya-partner__icon {
    margin-left: -20px !important;
}
 .ya-partner_margin_yes .ya-partner__item {
    padding-left: 20px !important;
}
 .ya-partner__wrap-fit {
    display: block !important;
    zoom: 1 !important;
    position: relative !important;
    padding-bottom: 1px !important;
    font-size: inherit !important;
    border-radius: 4px 4px 4px 4px !important;
}
 .ya-partner__item .ya-partner__adtune-positioning-wrapper {
    display: block !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
}
 .ya-partner__item .ya-partner__adtune-arrow {
    display: none !important;
}
 .ya-partner__item-ad_tune__yes .ya-partner__adtune-arrow {
    z-index: 1 !important;
    display: block !important;
    cursor: pointer !important;
    position: absolute !important;
    top: 4px !important;
    right: 4px !important;
    width: 16px !important;
    height: 16px !important;
    background-position: 0px 0px !important;
    background-repeat: no-repeat !important;
    background-image: url(//an.yandex.ru/resource/arrow-sprite-01.png) !important;
}
 .ya-partner__item-ad_tune__yes .ya-partner__adtune-arrow:hover {
    background-position: 0px -16px !important;
}
 .ya-partner_type_horiz {
    display: inline-block !important;
    width: 100% !important;
    -moz-box-sizing: border-box !important;
    -webkit-box-sizing: border-box !important;
    box-sizing: border-box !important;
}
 :root .ya-partner_type_horiz {
    display: table\0/IE9 !important;
    width: 100%\0/IE9 !important;
}
 .ya-partner_type_horiz:before,.ya-partner_type_horiz:after {
    content: "" !important;
    display: table !important;
    border-spacing: 0 !important;
    border: 0 !important;
}
 .ya-partner_type_horiz .ya-partner__list {
    display: table !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-spacing: 0 !important;
    font-size: inherit !important;
}
 body .ya-partner_type_horiz .ya-partner__item {
    position: static !important;
}
 .ya-partner_type_horiz .ya-partner__tr {
    font-size: inherit !important;
}
 .ya-partner_type_horiz .ya-partner__item {
    padding: 0.5em !important;
    vertical-align: top !important;
    border-spacing: 0 !important;
    font-size: inherit !important;
    border-collapse: separate !important;
}
 .ya-partner_type_horiz .ya-partner__gap {
    font-size: 10px !important;
    width: 0.5em !important;
    margin: 0 !important;
    border: none !important;
    background: none !important;
}
 .ya-partner_type_horiz table.ya-partner__list, .ya-partner_type_horiz td.ya-partner__item,.ya-partner_type_horiz td.ya-partner__gap {
    border-collapse: separate !important;
}
 .ya-partner_type_horiz .ya-partner__warn,.ya-partner_type_horiz .ya-partner__inner,.ya-partner_type_horiz .ya-partner__text,.ya-partner_type_horiz .ya-partner__url {
    display: block !important;
}
 .ya-partner_type_horiz .ya-partner__item_pos_last {
    margin-right: 0 !important;
}
 .ya-partner_type_horiz .ya-partner__text, .ya-partner_type_horiz .ya-partner__warn {
    margin: 0.4em 0 !important;
}</style><style type="text/css">#ya_partner_Ya_sync_0-horizontal .ya-partner__title-link-text:visited {
    color: #000000 !important;
}
 #ya_partner_Ya_sync_0-horizontal .ya-partner__title-link-text:link {
    color: #000000 !important;
}
 #ya_partner_Ya_sync_0-horizontal .ya-partner__title-link-text:hover {
    color: #666666 !important;
}
 #ya_partner_Ya_sync_0-horizontal .ya-partner__sitelinks-text:visited {
    color: #000000 !important;
}
 #ya_partner_Ya_sync_0-horizontal .ya-partner__sitelinks-text:link {
    color: #000000 !important;
}
 #ya_partner_Ya_sync_0-horizontal .ya-partner__sitelinks-text:hover {
    color: #666666 !important;
}
 #ya_partner_Ya_sync_0-horizontal .ya-partner__title-link-text {
    color: #000000 !important;
    font-size: 123% !important;
}
 #ya_partner_Ya_sync_0-horizontal .ya-partner__region {
    color: #758536 !important;
}
 #ya_partner_Ya_sync_0-horizontal .ya-partner__domain-link {
    color: #758536 !important;
}
 #ya_partner_Ya_sync_0-horizontal .ya-partner__address {
    color: #758536 !important;
}
 #ya_partner_Ya_sync_0-horizontal .ya-partner {
    font-family: inherit !important;
    color: #000000 !important;
    font-size: 0.9em !important;
    background: undefined !important;
    border-radius: 0 !important;
}
 #ya_partner_Ya_sync_0-horizontal .ya-partner__text {
    font-family: inherit !important;
    color: #000000 !important;
}
 #ya_partner_Ya_sync_0-horizontal .ya-partner__text-link {
    font-family: inherit !important;
    color: #000000 !important;
}
 #ya_partner_Ya_sync_0-horizontal .ya-partner__sitelinks {
    color: #000000 !important;
}
 #ya_partner_Ya_sync_0-horizontal .ya-partner__wrap-fit {
    border-radius: 0 !important;
}
 #ya_partner_Ya_sync_0-horizontal .ya-partner__item {
    border-radius: 0 !important;
    width: 27.7778% !important;
}
 #ya_partner_Ya_sync_0-horizontal .ya-partner__ads-l {
    border-radius: 0 !important;
    background: url("data:image/gif,GIF89a%C8%00)%00%80%01%00%EE%EE%EE%FF%FF%FF!%F9%04%01%00%00%01%00%2C%00%00%00%00%C8%00)%00%00%02%AB%84%8F%A9%CB%ED%0F%A3%9C%B4%DA%1B%B2%DE%B7%FB%0F%86%E2%E8lf%40%A6%EA%CA%B6%D2%A9%B9%F2L%D7%14%9C%D9%FA%CE%CBx%0F%0C%0A-%BF%A1%F1%884%C0%92%CC%E6n%E9%8CJY%A7%A9%F5%0A%AAb%B7%DC%17%A7%0B%0E'L%E2%B2%F8kNc%D1%EA%B64%E6%8E%3B%E1%F2%3A2g%CF%0F%F1%FA~%0F%E5%17%A8%03(XhxhF%88%B8(%A2%C8%F8%88%E1%089%E9Ei%E9%25y%A9%89%40%B7%E9%A9%D4%F9%B9%C9%26zIV%3AJ%8A%0A%A9%B5J%D9%EA%FA%08%15%2B%0BK%7BXt%8B%98%AB%5B%88%93%D9%AB%F7%1B%EC%3BL%1C%F8%1BP%00%00%3B") 100% 50% no-repeat scroll transparent !important;
}
 #ya_partner_Ya_sync_0-horizontal .ya-partner__warn {
    border: 1px solid #D8D8D8 !important;
    background-color: #FFFFFF !important;
}
 #ya_partner_Ya_sync_0-horizontal .ya-partner__agewarn {
    border: 1px solid #D8D8D8 !important;
    background-color: #FFFFFF !important;
}
 #ya_partner_Ya_sync_0-horizontal a.ya-partner__ads-link-l:link {
    text-decoration:  !important;
    color: #000 !important;
}
 #ya_partner_Ya_sync_0-horizontal a.ya-partner__ads-link-l:hover {
    text-decoration:  !important;
    color: #000 !important;
}
 #ya_partner_Ya_sync_0-horizontal a.ya-partner__ads-link-l:visited {
    text-decoration:  !important;
    color: #000 !important;
}
 #ya_partner_Ya_sync_0-horizontal .ya-partner_is-quasi-flat_yes .ya-partner__item {
    width: 33% !important;
}
 #ya_partner_Ya_sync_0-horizontal table td.ya-partner__item_pic_yes {
    width: 33.3333% !important;
}
 #ya_partner_Ya_sync_0-horizontal table .ya-partner__item_sitelinks_yes {
    width: 30.5556% !important;
}</style></head>
<body><div id="vk_api_transport" style="position: absolute; top: -10000px;"></div>

    <div class="PageBackgroundGradient"></div>
<div class="PageBackgroundGlare">
    <div class="PageBackgroundGlareImage"></div>
</div>
<div class="Main">
<div class="Sheet">
    <div class="Sheet-tl"></div>
    <div class="Sheet-tr"></div>
    <div class="Sheet-bl"></div>
    <div class="Sheet-br"></div>
    <div class="Sheet-tc"></div>
    <div class="Sheet-bc"></div>
    <div class="Sheet-cl"></div>
    <div class="Sheet-cr"></div>
    <div class="Sheet-cc"></div>
    <div class="Sheet-body">
    


<div class="Header">
  <div class="Header-jpeg"></div>
    

	<div class="logo">
	<img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/logo.png">
	</div>
	<div class="logobanner">
	<div class="bannergroup">


</div>

	</div>

</div>



<div id="chip_menu_search_wrapper">
<form action="http://chipenable.ru/index.php/programming-avr.html" method="post">
	<div class="search chipsearch">
		<input name="searchword" id="mod-search-searchword" maxlength="20" class="inputbox" type="text" size="20" value="Поиск по сайту..." onblur="if (this.value==&#39;&#39;) this.value=&#39;Поиск по сайту...&#39;;" onfocus="if (this.value==&#39;Поиск по сайту...&#39;) this.value=&#39;&#39;;"><input type="submit" value="Искать" class="search_button" onclick="this.form.searchword.focus();">	<input type="hidden" name="task" value="search">
	<input type="hidden" name="option" value="com_search">
	<input type="hidden" name="Itemid" value="4">
	</div>
</form>

<ul class="menu-mainmenu">
<li class="item-172"><a href="http://chipenable.ru/">Главная</a></li><li class="item-207"><a href="http://chipenable.ru/index.php/forum.html">Форум</a></li><li class="item-205"><a href="http://chipenable.ru/index.php/contacts.html">Контакты</a></li><li class="item-229"><a href="http://chipenable.ru/index.php/donate.html">Donate</a></li><li class="item-232"><a href="http://vk.com/chipenable">Группа</a></li></ul>

</div>
<div style="clear:both"></div>

<div class="contentLayout">
<div class="sidebar1"><div class="Block modulesuf">
    <div class="Block-tl"></div>
    <div class="Block-tr"></div>
    <div class="Block-bl"></div>
    <div class="Block-br"></div>
    <div class="Block-tc"></div>
    <div class="Block-bc"></div>
    <div class="Block-cl"></div>
    <div class="Block-cr"></div>
    <div class="Block-cc"></div>
    <div class="Block-body">

<div class="BlockHeader">
    <div class="l"></div>
    <div class="r"></div>
    <div class="header-tag-icon">
        <div class="t">
Разделы</div>
    </div>
</div>
<div class="BlockContent">
    <div class="BlockContent-cc"></div>
    <div class="BlockContent-body">


<ul class="menu">
<li class="item-179"><a href="http://chipenable.ru/index.php/currently-news-chipenable.html">Новости</a></li><li class="item-230"><a href="http://chipenable.ru/index.php/embedded-programming.html">Эмбед программинг</a></li><li class="item-4 current active"><a href="http://chipenable.ru/index.php/programming-avr.html">Программирование AVR</a></li><li class="item-30"><a href="http://chipenable.ru/index.php/instruments-technologies.html">Инструменты/технологии</a></li><li class="item-9"><a href="http://chipenable.ru/index.php/how-connection.html">Как подключить</a></li><li class="item-231"><a href="http://chipenable.ru/index.php/electronic-components.html">Компоненты</a></li><li class="item-29"><a href="http://chipenable.ru/index.php/rtos.html">RTOS</a></li><li class="item-2"><a href="http://chipenable.ru/index.php/iar-embedded-workbench.html">Софт</a></li><li class="item-3"><a href="http://chipenable.ru/index.php/projects-avr.html">Проекты</a></li><li class="item-206"><a href="http://chipenable.ru/index.php/sitemap.html">Карта сайта</a></li><li class="item-21"><a href="http://chipenable.ru/index.php/links.html">Ссылки</a></li></ul>

    </div>
</div>


    </div>
</div>

<div class="Block modulesuf">
    <div class="Block-tl"></div>
    <div class="Block-tr"></div>
    <div class="Block-bl"></div>
    <div class="Block-br"></div>
    <div class="Block-tc"></div>
    <div class="Block-bc"></div>
    <div class="Block-cl"></div>
    <div class="Block-cr"></div>
    <div class="Block-cc"></div>
    <div class="Block-body">

<div class="BlockHeader">
    <div class="l"></div>
    <div class="r"></div>
    <div class="header-tag-icon">
        <div class="t">
Файлы</div>
    </div>
</div>
<div class="BlockContent">
    <div class="BlockContent-cc"></div>
    <div class="BlockContent-body">


<ul class="menu">
<li class="item-14"><a href="http://chipenable.ru/index.php/useful-soft.html">Полезный софт</a></li><li class="item-15"><a href="http://chipenable.ru/index.php/library-for-iar.html">Си библиотеки для AVR</a></li><li class="item-16"><a href="http://chipenable.ru/index.php/files-for-lessons-iar-avr.html">Проекты для IAR AVR</a></li><li class="item-26"><a href="http://chipenable.ru/index.php/files-for-lessons-winavr.html">Проекты для WINAVR</a></li><li class="item-27"><a href="http://chipenable.ru/index.php/files-codevision.html">Проекты для CodeVision</a></li><li class="item-228"><a href="http://chipenable.ru/index.php/proekty-dlya-atmelstudio6.html">Проекты для AtmelStudio6</a></li><li class="item-28"><a href="http://chipenable.ru/index.php/projects-proteus.html">Проекты для Proteus`a</a></li></ul>

    </div>
</div>


    </div>
</div>

<div class="Block modulesuf">
    <div class="Block-tl"></div>
    <div class="Block-tr"></div>
    <div class="Block-bl"></div>
    <div class="Block-br"></div>
    <div class="Block-tc"></div>
    <div class="Block-bc"></div>
    <div class="Block-cl"></div>
    <div class="Block-cr"></div>
    <div class="Block-cc"></div>
    <div class="Block-body">

<div class="BlockHeader">
    <div class="l"></div>
    <div class="r"></div>
    <div class="header-tag-icon">
        <div class="t">
Войти</div>
    </div>
</div>
<div class="BlockContent">
    <div class="BlockContent-cc"></div>
    <div class="BlockContent-body">

<script type="text/javascript">
//<![CDATA[
VK.init({
	apiId: 2452029});
function getUsername(data){
	return "";}
//]]>
</script>
<style type="text/css">
#vk_auth iframe{
	width:200px!important;
}
</style>
<form action="http://chipenable.ru/index.php/programming-avr.html" method="post" name="login" id="form-login">
	<fieldset class="input">
	<p id="form-login-username">
		<label for="modlgn_username">Логин</label><br>
		<input id="modlgn_username" type="text" name="username" class="inputbox" alt="username" size="18">
	</p>
	<p id="form-login-password">
		<label for="modlgn_passwd">Пароль</label><br>
		<input id="modlgn_passwd" type="password" name="password" class="inputbox" size="18" alt="password">
	</p>
		<p id="form-login-remember">
		<label for="modlgn_remember">Запомнить меня</label>
		<input id="modlgn_remember" type="checkbox" name="remember" class="inputbox" value="yes" alt="Запомнить меня" onclick="toggleRemember(this)">
	</p>
		<input type="submit" name="Submit" class="button" value="Войти">
	</fieldset>
	<input type="hidden" name="option" value="com_users">
	<input type="hidden" name="task" value="user.login">
	<input type="hidden" name="return" value="L2luZGV4LnBocC9pdGVtbGlzdC8=">
	<input type="hidden" name="d3c3cdb425415878ac8622badf4d0f38" value="1"></form>
<a href="javascript:void(0);" onclick="vk_login();return false;"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/vk.jpg"></a>
<form name="vklogin" method="post" action="http://chipenable.ru/index.php/component/vklogin/">
	<input type="hidden" name="name" value="">
	<input type="hidden" name="username" value="">
	<input type="hidden" name="option" value="com_vklogin">
	<input type="hidden" name="jomsocial[uid]" value="">
	<input type="hidden" name="jomsocial[first_name]" value="">
	<input type="hidden" name="jomsocial[last_name]" value="">
	<input type="hidden" name="jomsocial[nickname]" value="">
	<input type="hidden" name="jomsocial[sex]" value="">
	<input type="hidden" name="jomsocial[bdate]" value="">
	<input type="hidden" name="jomsocial[city]" value="">
	<input type="hidden" name="jomsocial[country]" value="">
	<input type="hidden" name="jomsocial[timezone]" value="">
	<input type="hidden" name="jomsocial[photo]" value="">
	<input type="hidden" name="jomsocial[photo_medium]" value="">
	<input type="hidden" name="jomsocial[photo_big]" value="">
	<input type="hidden" name="jomsocial[home_phone]" value="">
	<input type="hidden" name="jomsocial[mobile_phone]" value="">
	<input type="hidden" name="jomsocial[university_name]" value="">
	<input type="hidden" name="jomsocial[faculty_name]" value="">
	<input type="hidden" name="jomsocial[graduation]" value="">
	<input type="hidden" name="jomsocial[photo_rec]" value="">
	<input type="hidden" name="jomsocial[photo_medium_rec]" value="">
	<input type="hidden" name="domain" value="">
	<input type="hidden" name="vkremember" value="" id="vkremember">
	<input type="hidden" name="photo_rec" value="">
	<input type="hidden" name="hash" value="">
	<input type="hidden" name="return" value="L2luZGV4LnBocC9pdGVtbGlzdC8=">
</form>
	<ul>
		<li>
			<a href="http://chipenable.ru/index.php/component/users/?view=reset">
			Забыли пароль?</a>
		</li>
		<li>
			<a href="http://chipenable.ru/index.php/component/users/?view=remind">
			Забыли логин?</a>
		</li>
				<li>
			<a href="http://chipenable.ru/index.php/component/users/?view=registration">
				Регистрация</a>
		</li>
			</ul>
	
    </div>
</div>


    </div>
</div>

<div class="Block modulesuf">
    <div class="Block-tl"></div>
    <div class="Block-tr"></div>
    <div class="Block-bl"></div>
    <div class="Block-br"></div>
    <div class="Block-tc"></div>
    <div class="Block-bc"></div>
    <div class="Block-cl"></div>
    <div class="Block-cr"></div>
    <div class="Block-cc"></div>
    <div class="Block-body">

<div class="BlockHeader">
    <div class="l"></div>
    <div class="r"></div>
    <div class="header-tag-icon">
        <div class="t">
Комментарии</div>
    </div>
</div>
<div class="BlockContent">
    <div class="BlockContent-cc"></div>
    <div class="BlockContent-body">

<div id="jcommentsModWrapper" class="jc">
<div id="jcommentsModTabs">
	<div class="jcspan" onclick="javascript:document.getElementById(&#39;jcommentsModWrapper&#39;).className=&#39;jc&#39;">На сайте</div>
	<div class="vkspan" onclick="javascript:document.getElementById(&#39;jcommentsModWrapper&#39;).className=&#39;vk&#39;">Вконтакте</div>
	<div style="clear:both"></div>
</div>
<div id="jcommentsModJcomments">
<ul class="jcomments-latest">
	
			<li>
				<h4>
							<a href="http://chipenable.ru/index.php/projects-avr/item/93-elektronnaya-valentinka.html">Электронная валентинка</a>
					</h4>
		
		
				<span class="author">Роман1971</span>
						<span class="date">10.02.2014 08:56</span>
		
		<div class="comment rounded ">
					<div>
				Добрый день! а возможно ли изготовить под заказ сиё чудо? Очень хотелось бы подарить своей супруге. сам ...							</div>
		</div>

				<span class="comment-separator">&nbsp;</span>
			</li>
			<li>
				<h4>
							<a href="http://chipenable.ru/index.php/instruments-technologies/item/210-izgotovlenie-platy-s-pomoschyu-fotorezista.html">Изготовление платы с помощью фоторезиста</a>
					</h4>
		
		
				<span class="author">devprodest</span>
						<span class="date">09.02.2014 10:51</span>
		
		<div class="comment rounded ">
					<div>
				Я режу обычными ножницами, правда весьма прочными, а потом края обрабатываю наждачкой.							</div>
		</div>

				<span class="comment-separator">&nbsp;</span>
			</li>
			<li>
				<h4>
							<a href="http://chipenable.ru/index.php/instruments-technologies/item/210-izgotovlenie-platy-s-pomoschyu-fotorezista.html">Изготовление платы с помощью фоторезиста</a>
					</h4>
		
		
				<span class="author">devprodest</span>
						<span class="date">09.02.2014 10:48</span>
		
		<div class="comment rounded ">
					<div>
				А просто надо плату класть вертикально, что бы продукты травления опускались вниз, а газы вверх... и ...							</div>
		</div>

				<span class="comment-separator">&nbsp;</span>
			</li>
			<li>
				<h4>
							<a href="http://chipenable.ru/index.php/programming-avr/item/187-uchebnyy-kurs-avr-taymer-schetchik-t0-rezhim-normal-ch2.html">Учебный курс AVR. Таймер - счетчик Т0. Режим Normal. Ч2</a>
					</h4>
		
		
				<span class="author">Рогалик</span>
						<span class="date">08.02.2014 17:20</span>
		
		<div class="comment rounded ">
					<div>
				"256 - это максимальное количество временных интервалов". Подскажите, правильно ли я понял, что 225-ый ...							</div>
		</div>

				<span class="comment-separator">&nbsp;</span>
			</li>
			<li>
				<h4>
							<a href="http://chipenable.ru/index.php/instruments-technologies/item/210-izgotovlenie-platy-s-pomoschyu-fotorezista.html">Изготовление платы с помощью фоторезиста</a>
					</h4>
		
		
				<span class="author">Юра</span>
						<span class="date">08.02.2014 16:49</span>
		
		<div class="comment rounded ">
					<div>
				Я это делаю на улице, так что мне не страшно.							</div>
		</div>

			</li>
		</ul>
</div>

<div id="jcommentsModVkontakte">
<div id="vk_commentsLatest" style="height: 12082px; width: 100%; background-image: none; background-position: initial initial; background-repeat: initial initial;"><iframe name="fXDc1376" frameborder="0" src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/widget_comments.htm" width="100%" height="133" scrolling="no" id="vkwidget2" style="overflow: hidden; height: 12082px;"></iframe></div>
</div>

</div>

<script type="text/javascript">
window.onload = function () {
 VK.Widgets.CommentsBrowse('vk_commentsLatest', {width: '', limit: 5, mini: 0});
}
</script>

    </div>
</div>


    </div>
</div>

<div class="Block modulesuf">
    <div class="Block-tl"></div>
    <div class="Block-tr"></div>
    <div class="Block-bl"></div>
    <div class="Block-br"></div>
    <div class="Block-tc"></div>
    <div class="Block-bc"></div>
    <div class="Block-cl"></div>
    <div class="Block-cr"></div>
    <div class="Block-cc"></div>
    <div class="Block-body">

<div class="BlockHeader">
    <div class="l"></div>
    <div class="r"></div>
    <div class="header-tag-icon">
        <div class="t">
Реклама</div>
    </div>
</div>
<div class="BlockContent">
    <div class="BlockContent-cc"></div>
    <div class="BlockContent-body">

<center><script async="" src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/adsbygoogle.js"></script>
<!-- test3 -->
<ins class="adsbygoogle" style="display:inline-block;width:160px;height:600px" data-ad-client="ca-pub-9866788192129816" data-ad-slot="2709976180" data-adsbygoogle-status="done"><ins style="display:inline-table;border:none;height:600px;margin:0;padding:0;position:relative;visibility:visible;width:160px;background-color:transparent"><ins id="aswift_0_anchor" style="display:block;border:none;height:600px;margin:0;padding:0;position:relative;visibility:visible;width:160px;background-color:transparent"><iframe width="160" height="600" frameborder="0" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" scrolling="no" onload="var i=this.id,s=window.google_iframe_oncopy,H=s&amp;&amp;s.handlers,h=H&amp;&amp;H[i],w=this.contentWindow,d;try{d=w.document}catch(e){}if(h&amp;&amp;d&amp;&amp;(!d.body||!d.body.firstChild)){if(h.call){setTimeout(h,0)}else if(h.match){try{h=s.upd(h,i)}catch(e){}w.location.replace(h)}}" id="aswift_0" name="aswift_0" style="left:0;position:absolute;top:0;"></iframe></ins></ins></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</center>
    </div>
</div>


    </div>
</div>

</div>
<div class="content">

		<div class="moduletable">
					<!-- Яндекс.Директ -->
<script type="text/javascript">
yandex_partner_id = 60420;
yandex_site_bg_color = 'FFFFFF';
yandex_stat_id = 1882612;
yandex_ad_format = 'direct';
yandex_font_size = 0.9;
yandex_direct_type = 'horizontal';
yandex_direct_limit = 3;
yandex_direct_title_font_size = 2;
yandex_direct_header_bg_color = 'EEEEEE';
yandex_direct_title_color = '000000';
yandex_direct_url_color = '758536';
yandex_direct_text_color = '000000';
yandex_direct_hover_color = '666666';
yandex_direct_favicon = false;
yandex_no_sitelinks = true;
document.write('<sc'+'ript type="text/javascript" src="http://an.yandex.ru/system/context.js"></sc'+'ript>');
</script><script type="text/javascript" src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/context.js"></script><div id="Ya_sync_0"><div id="ya_partner_Ya_sync_0-horizontal" style="background:transparent none no-repeat scroll 0 0 !important;border:none !important;border-radius:none !important;border-spacing:0 !important;border-collapse:collapse !important;-moz-box-sizing:content-box !important;box-sizing:content-box !important;clear:none !important;clip:auto !important;color:inherit !important;cursor:auto !important;empty-cells:show !important;float:none !important;font:inherit !important;font-variant:normal !important;font-weight:normal !important;height:auto !important;letter-spacing:normal !important;line-height:normal !important;margin:0 !important;max-height:none !important;max-width:none !important;min-height:0 !important;min-width:0 !important;outline:none !important;overflow:visible !important;padding:0 !important;position:static !important;table-layout:auto !important;text-align:left !important;text-decoration:none !important;text-indent:0 !important;text-transform:none !important;vertical-align:baseline !important;visibility:visible !important;white-space:normal !important;width:auto !important;word-spacing:normal !important;z-index:auto !important;display:block !important;"><yatag class="ya-partner_theme_horizontal  ya-partner ya-partner_type_horiz"><yatag class="ya-partner__ads"><yatag class="ya-partner__ads-l"><a href="http://direct.yandex.ru/?partner" class="ya-partner__ads-link ya-partner__ads-link-l" target="_blank">Яндекс.Директ</a></yatag></yatag><table cellpadding="0" cellspacing="0" class="ya-partner__list"><tbody><tr class="ya-partner__tr"><td class="ya-partner__item ya-partner__item-1 ya-partner__item_pic_yes ya-partner__item_piclayout_float ya-partner__item_sitelinks_no ya-partner__item_pos_first"><yatag class="ya-partner__pic-container"><a href="http://an.yandex.ru/count/CCMRH8cso3e40000Zh6baIy5XPJ03fK2cm5kGxS2Am68knIN40A9ctqac0UUf9_B0PsVqmISlAMm90UMgTzysxhyfR0a7tPf5mgQlXoh3G6c88ggSK-dlQBdOTIg0QMa_cy2lAOAgmAHkgy9KmUFiz2wz0IVl9K77W6JbwK2cGP2Z93R6g2GWIclaDiQb9ac2QUGj0Eei41PSmUai000092k-Wo8lzY14V84iBF4DK02iG6o8BcVqmIx_rOte3Zooo41VnO0?test-tag=2129&stat-id=1882612" class="ya-partner__pic" target="_blank" title="market.yandex.ru" style="width:90px !important;height:90px !important;background-image:url(&#39;//avatars-fast.yandex.net/get-direct/ckXZc17IokPe_pryT3STjQ/y90&#39;) !important;"></a></yatag><a href="http://an.yandex.ru/count/CCMRH8cso3e40000Zh6baIy5XPJ03fK2cm5kGxS2Am68knIN40A9ctqac0UUf9_B0PsVqmISlAMm90UMgTzysxhyfR0a7tPf5mgQlXoh3G6c88ggSK-dlQBdOTIg0QMa_cy2lAOAgmAHkgy9KmUFiz2wz0IVl9K77W6JbwK2cGP2Z93R6g2GWIclaDiQb9ac2QUGj0Eei41PSmUai000092k-Wo8lzY14V84iBF4DK02iG6o8BcVqmIx_rOte3Zooo41VnO0?test-tag=2129&stat-id=1882612" class="ya-partner__title-link" title="market.yandex.ru" target="_blank"><yatag class="ya-partner__title-link-text">Ищете газовые счетчики?</yatag></a> <yatag class="ya-partner__text">Воспользуйтесь Яндекс.Маркетом. Поиск по параметрам. Отзывы. Выбирайте!</yatag><yatag class="ya-partner__url"><yatag class="ya-partner__domain"><a class="ya-partner__domain-link" href="http://an.yandex.ru/count/CCMRH8cso3e40000Zh6baIy5XPJ03fK2cm5kGxS2Am68knIN40A9ctqac0UUf9_B0PsVqmISlAMm90UMgTzysxhyfR0a7tPf5mgQlXoh3G6c88ggSK-dlQBdOTIg0QMa_cy2lAOAgmAHkgy9KmUFiz2wz0IVl9K77W6JbwK2cGP2Z93R6g2GWIclaDiQb9ac2QUGj0Eei41PSmUai000092k-Wo8lzY14V84iBF4DK02iG6o8BcVqmIx_rOte3Zooo41VnO0?test-tag=2129&stat-id=1882612" target="_blank">market.yandex.ru</a></yatag> <yatag class="ya-partner__region"></yatag></yatag><yatag class="ya-partner__clearfix"></yatag></td><td class="ya-partner__gap">&nbsp;</td><td class="ya-partner__item ya-partner__item-2 ya-partner__item_pic_yes ya-partner__item_piclayout_float ya-partner__item_sitelinks_no"><yatag class="ya-partner__pic-container"><a href="http://an.yandex.ru/count/CCMRH1wJPqG40000Zh6baIy5XPJ03fK2cm5kGxS2Am4oYBWTCh05YQiO346OYHoUf9_B0Psc0G4HbgdVVDkw_AMm91zsQHSAfbgAeN42sBszwTeJ0Qe1fQkpqmAHkgy9KmUFkShW_GEVkO3OH0QJbwK2cM92Z9YyDhQSQn2rcEeDe9tSIw-Ol3Qpc4aJj9Zg3QUJLW6ehSh_5QIm0000aAmFhleCYB_OWH7o1B2pn3L00h41ie0IkQO10H6x_rOte3Zooo41UXS0?test-tag=2129&stat-id=1882612" class="ya-partner__pic" target="_blank" title="carcamspb.ru" style="width:90px !important;height:90px !important;background-image:url(&#39;//avatars-fast.yandex.net/get-direct/IeKgl-13xe6Cto1CdENtoA/y90&#39;) !important;"></a></yatag><a href="http://an.yandex.ru/count/CCMRH1wJPqG40000Zh6baIy5XPJ03fK2cm5kGxS2Am4oYBWTCh05YQiO346OYHoUf9_B0Psc0G4HbgdVVDkw_AMm91zsQHSAfbgAeN42sBszwTeJ0Qe1fQkpqmAHkgy9KmUFkShW_GEVkO3OH0QJbwK2cM92Z9YyDhQSQn2rcEeDe9tSIw-Ol3Qpc4aJj9Zg3QUJLW6ehSh_5QIm0000aAmFhleCYB_OWH7o1B2pn3L00h41ie0IkQO10H6x_rOte3Zooo41UXS0?test-tag=2129&stat-id=1882612" class="ya-partner__title-link" title="carcamspb.ru" target="_blank"><yatag class="ya-partner__title-link-text">Каркам TINY по&nbsp;минимальной цене</yatag></a> <yatag class="ya-partner__text">8 Гб в подарок. Доставка в любой регион РФ. Официальный дилер Каркам.</yatag><yatag class="ya-partner__url"><yatag class="ya-partner__domain"><a class="ya-partner__domain-link" href="http://an.yandex.ru/count/CCMRH1wJPqG40000Zh6baIy5XPJ03fK2cm5kGxS2Am4oYBWTCh05YQiO346OYHoUf9_B0Psc0G4HbgdVVDkw_AMm91zsQHSAfbgAeN42sBszwTeJ0Qe1fQkpqmAHkgy9KmUFkShW_GEVkO3OH0QJbwK2cM92Z9YyDhQSQn2rcEeDe9tSIw-Ol3Qpc4aJj9Zg3QUJLW6ehSh_5QIm0000aAmFhleCYB_OWH7o1B2pn3L00h41ie0IkQO10H6x_rOte3Zooo41UXS0?test-tag=2129&stat-id=1882612" target="_blank">carcamspb.ru</a></yatag> <yatag class="ya-partner__region"></yatag></yatag><yatag class="ya-partner__clearfix"></yatag></td><td class="ya-partner__gap">&nbsp;</td><td class="ya-partner__item ya-partner__item-3 ya-partner__item_pic_yes ya-partner__item_piclayout_float ya-partner__item_sitelinks_no ya-partner__item_pos_last"><yatag class="ya-partner__pic-container"><a href="http://an.yandex.ru/count/CCMRHFH_TVu40000Zh6baIy5XPJ03fK2cm5kGxS2Am4pYBroH101YQKZ6LsO__________yFdgIVom6TecYB1fQfttpRklobi2GVTcaN2gOGYgzpWhMzeLVMwwe1fQopaGAHkgy9KmUFke3JvWwVlv4l6WwJbwK2cM92Z93KCA2Gr32laDGmb9bQ5QUTJG6eeDhsHwIm0000aAmFhleCYB_OWH7o1B2pn3L00h41ie0IkQ9eYmQx_rOte3Zooo41V1O0?test-tag=2129&stat-id=1882612" class="ya-partner__pic" target="_blank" title="lamoda.ru" style="width:80px !important;height:90px !important;background-image:url(&#39;//avatars-fast.yandex.net/get-direct/K7s_L2joQjIaNeNnW7POYA/x80&#39;) !important;"></a></yatag><a href="http://an.yandex.ru/count/CCMRHFH_TVu40000Zh6baIy5XPJ03fK2cm5kGxS2Am4pYBroH101YQKZ6LsO__________yFdgIVom6TecYB1fQfttpRklobi2GVTcaN2gOGYgzpWhMzeLVMwwe1fQopaGAHkgy9KmUFke3JvWwVlv4l6WwJbwK2cM92Z93KCA2Gr32laDGmb9bQ5QUTJG6eeDhsHwIm0000aAmFhleCYB_OWH7o1B2pn3L00h41ie0IkQ9eYmQx_rOte3Zooo41V1O0?test-tag=2129&stat-id=1882612" class="ya-partner__title-link" title="lamoda.ru" target="_blank"><yatag class="ya-partner__title-link-text">Магазин модных Угг! Скидки!</yatag></a> <yatag class="ya-partner__text">Модные Угги от 900+ Брендов! Новая Коллекция 2014. Бесплатная Доставка.</yatag><yatag class="ya-partner__url"><a class="ya-partner__address" href="http://an.yandex.ru/count/CCMRHF6DkC040000Zh6baIy5XPJ03fK2cm5kGxS2Am4pYBroH101YQKZ6LsO__________yFdgIVom6TecYB1fQfttpRklobi2GVTcaN2gOGYgzpWhMzeLVMwwe7fQopaGAHkgy9KmUFke3JvWwVlv4l6WwJbwK2cM92Z93KCA2Gr32laDGmb9bQ5QUTJG6eeDhsHwIm0000aAmFhleCYB_OWH7o1B2pn3L00h41ie0IkQ9eYmQx_rOte3Zooo41V1O0?test-tag=2129&stat-id=1882612" target="_blank">Адрес&nbsp;и&nbsp;телефон</a> <yatag class="ya-partner__domain"><a class="ya-partner__domain-link" href="http://an.yandex.ru/count/CCMRHFH_TVu40000Zh6baIy5XPJ03fK2cm5kGxS2Am4pYBroH101YQKZ6LsO__________yFdgIVom6TecYB1fQfttpRklobi2GVTcaN2gOGYgzpWhMzeLVMwwe1fQopaGAHkgy9KmUFke3JvWwVlv4l6WwJbwK2cM92Z93KCA2Gr32laDGmb9bQ5QUTJG6eeDhsHwIm0000aAmFhleCYB_OWH7o1B2pn3L00h41ie0IkQ9eYmQx_rOte3Zooo41V1O0?test-tag=2129&stat-id=1882612" target="_blank">lamoda.ru</a></yatag> <yatag class="ya-partner__region"></yatag></yatag><yatag class="ya-partner__clearfix"></yatag></td></tr></tbody></table></yatag></div></div><script type="text/javascript" src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/context_static_r669.js" yandex_load_check="yes"></script><script type="text/javascript" charset="utf-8" src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/60420"></script>		</div>
			<div class="moduletable">
					<!-- Yandex.Metrika counter -->
<script type="text/javascript">
(function (d, w, c) {
    (w[c] = w[c] || []).push(function() {
        try {
            w.yaCounter280534 = new Ya.Metrika({id:280534,
                    clickmap:true,
                    trackLinks:true});
        } catch(e) { }
    });

    var n = d.getElementsByTagName("script")[0],
        s = d.createElement("script"),
        f = function () { n.parentNode.insertBefore(s, n); };
    s.type = "text/javascript";
    s.async = true;
    s.src = (d.location.protocol == "https:" ? "https:" : "http:") + "//mc.yandex.ru/metrika/watch.js";

    if (w.opera == "[object Opera]") {
        d.addEventListener("DOMContentLoaded", f, false);
    } else { f(); }
})(document, window, "yandex_metrika_callbacks");
</script>
<noscript>&lt;div&gt;&lt;img src="//mc.yandex.ru/watch/280534" style="position:absolute; left:-9999px;" alt="" /&gt;&lt;/div&gt;</noscript>
<!-- /Yandex.Metrika counter -->		</div>
	
<div class="Post">
		    <div class="Post-body">
		<div class="Post-inner">
		
				<div class="PostContent">
		
		

<!-- Start K2 Item Layout -->
<span id="startOfPageId109"></span>

<div id="k2Container" class="itemView itemIsFeatured">

	<!-- Plugins: BeforeDisplay -->
	
	<!-- K2 Plugins: K2BeforeDisplay -->
	
	<div class="itemHeader">

	  	  <!-- Item title -->
	  <h2 class="itemTitle">
			
	  	Библиотека для опроса матричной клавиатуры 4x4 и 3х4
	  	
	  </h2>
	  


		<div class="PostHeaderIcons metadata-icons">

				<!-- Date created -->
			13.10.2011 05:03 |
						<!-- Item Author -->
			Автор: <a rel="author" href="http://chipenable.ru/index.php/programming-avr/itemlist/user/62-pashgan.html">Pashgan</a> |
						<!-- Print Button -->
		 <span class="metadata-icons">
			<a rel="nofollow" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html?tmpl=component&print=1" onclick="window.open(this.href,&#39;printWindow&#39;,&#39;width=900,height=600,location=no,menubar=no,resizable=yes,scrollbars=yes&#39;); return false;">
			<img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/printButton.png" alt="Печать"></a>
		  </span> 
				
				</div>

  </div>

  <!-- Plugins: AfterDisplayTitle -->
  
  <!-- K2 Plugins: K2AfterDisplayTitle -->
  
	
	
  <div class="itemBody">

	  <!-- Plugins: BeforeDisplayContent -->
	  
	  <!-- K2 Plugins: K2BeforeDisplayContent -->
	  
	  	  <table><tbody><tr><td>
	  	  	  	  <!-- Item fulltext -->
	  <div class="itemFullText">
	  	</div>
<div>
<h1>Введение</h1>
<div>Написал программный модуль для опроса матричной клавиатуры. <br><br>Особенности модуля:<br><br>- простая интеграция с готовым проектом</div>
<div>- поддержка всех микроконтроллеров семейства mega</div>
<div>- возможность использования с любым из трех компиляторов CodeVision, IAR, GCC</div>
<div>- поддержка клавиатур 4х4 и 3х4</div>
<div>- поддержка работы на общей шине</div>
<div>- возможность подключения к одному или двумя портами</div>
<div>- программная антидребезговая защита</div>
<div>- возможность установки произвольных кодов кнопок</div>
</div>
<h1>Подключение модуля</h1>
<div>- скачиваем&nbsp;<a mce_href="/files/course/Keyboard2/avr-lib-keyboard.rar" title="Библиотека для опроса матричной клавиатуры" target="_blank" href="http://chipenable.ru/files/course/Keyboard2/avr-lib-keyboard.rar">архив с модулем</a><br>- переписываем файлы keyboard.h и keyboard.c в папку проекта</div>
<div>- подключаем keyboard.c к проекту внутри среды разработки</div>
<div>- включаем keyboard.h в требуемый файл проекта, например main.c</div>
<div>- настраиваем конфигурацию в файле keyboard.h</div>
<div>- прописываем в свой код вызов пользовательских функций</div>
<div>&nbsp;</div>
<div>Настройка конфигурации включает в себя несколько шагов.</div>
<div>&nbsp;</div>
<div><span style="text-decoration: underline;">Установка тактовой частоты микроконтроллера</span></div>
<div>&nbsp;</div>
<div><span color="#808000" style="color: #808000;">#define</span> F_CPU 16000000</div>
<div>&nbsp;</div>
<div>
<div style="text-align: justify;">&nbsp; &nbsp;При высокой тактовой частоте микроконтроллера логические сигналы, формируемые программным модулем, из-за паразитных емкостей «не успевают» устанавливаться до требуемого уровня. Поэтому в некоторых местах кода используется программная задержка, для вычисления которой требуется значение тактовой частоты.</div>
</div>
<div><span style="text-decoration: underline;">Установка типа матричной клавиатуры – 4х4 или 3х4</span></div>
<div>&nbsp;</div>
<div><span color="#808000" style="color: #808000;">#define</span> KEYBOARD_4X4</div>
<div>&nbsp;</div>
<div style="text-align: justify;">&nbsp; &nbsp;Если закомментировать это макроопределение будет установлена клавиатура 3х4.&nbsp;</div>
<div style="text-align: justify;">Тип заданной клавиатуры сообщается пользователю в процессе сборки проекта. Поэтому не удивляйтесь предупреждению в окне Messages.&nbsp;</div>
<div>&nbsp;</div>
<div><span style="text-decoration: underline;">Установка типа подключения матричной клавиатуры</span>&nbsp;</div>
<div>&nbsp;</div>
<div><span color="#808000" style="color: #808000;">#define</span> COMMON_BUS</div>
<div>&nbsp;</div>
<div style="text-align: justify;">&nbsp; &nbsp;Для подключения клавиатуры и индикаторов часто используют общую шину, что позволяет экономить выводы микроконтроллера. Если это макроопределение не закомментировано, значит, клавиатура подключена именно таким способом.</div>
<div style="text-align: justify;">&nbsp; &nbsp;В этом случае выводы, используемые клавиатурой, конфигурируются лишь на время ее опроса. А по завершению процедуры опроса состояние выводов восстанавливается. &nbsp;</div>
<div style="text-align: justify;">&nbsp; &nbsp;Закомментировав макроопределение, можно сэкономить несколько байт флеш памяти.</div>
<div>&nbsp;</div>
<div><span style="text-decoration: underline;">Установка &nbsp;портов, к которым подключены строки и столбцы клавиатуры</span></div>
<div>&nbsp;</div>
<div><span color="#008000" style="color: #008000;">//порт, к которому подключены строки</span></div>
<div><span color="#808000" style="color: #808000;">#define</span> PORTX_ROW PORTA</div>
<div><span color="#808000" style="color: #808000;">#define</span> PINX_ROW &nbsp;PINA</div>
<div><span color="#808000" style="color: #808000;">#define</span> DDRX_ROW &nbsp;DDRA</div>
<div>&nbsp;</div>
<div><span color="#008000" style="color: #008000;">//порт, к которому подключены столбцы</span></div>
<div><span color="#808000" style="color: #808000;">#define</span> PORTX_COL PORTB</div>
<div><span color="#808000" style="color: #808000;">#define</span> PINX_COL &nbsp;PINB</div>
<div><span color="#808000" style="color: #808000;">#define</span> DDRX_COL &nbsp;DDRB</div>
<div>&nbsp;</div>
<div style="text-align: justify;">&nbsp; &nbsp;Все строки клавиатуры должны быть подключены к одному порту микроконтроллера. Данный модуль не позволяет подключить, например, одну строку к порту B, а остальные к порту С. Это же относится и к столбцам клавиатуры.&nbsp;</div>
<div style="text-align: justify;">&nbsp; &nbsp;При этом группа строк или столбцов клавиатуры может быть подключена как к одному, так и к разным портам микроконтроллера.&nbsp;</div>
<div>&nbsp;</div>
<div><span style="text-decoration: underline;">Установка &nbsp;выводов, к которым подключены строки и столбцы клавиатуры</span></div>
<div>&nbsp;</div>
<div><span color="#008000" style="color: #008000;">//выводы, к которым подключены строки</span>&nbsp;</div>
<div><span color="#808000" style="color: #808000;">#define</span> PIN_ROW1 4</div>
<div><span color="#808000" style="color: #808000;">#define</span> PIN_ROW2 5</div>
<div><span color="#808000" style="color: #808000;">#define</span> PIN_ROW3 6</div>
<div><span color="#808000" style="color: #808000;">#define</span> PIN_ROW4 7</div>
<div>&nbsp;</div>
<div><span color="#008000" style="color: #008000;">//выводы, к которым подключены столбцы</span></div>
<div><span color="#808000" style="color: #808000;">#define</span> PIN_COL1 0</div>
<div><span color="#808000" style="color: #808000;">#define</span> PIN_COL2 1</div>
<div><span color="#808000" style="color: #808000;">#define</span> PIN_COL3 2</div>
<div><span color="#808000" style="color: #808000;">#define</span> PIN_COL4 3</div>
<div>&nbsp;</div>
<div style="text-align: justify;">&nbsp; &nbsp;Выводы микроконтроллера, подключенные к строкам и столбцам матричной клавиатуры, не должны совпадать между собой. Это требования должно выполняться, когда клавиатура подключена к двум портам микроконтроллера.</div>
<div>&nbsp;</div>
<div><span style="text-decoration: underline;">Установка кодов кнопок</span></div>
<div>&nbsp;</div>
<div><span color="#008000" style="color: #008000;">//коды кнопок</span></div>
<div><span color="#808000" style="color: #808000;">#define</span> EVENT_NULL 0</div>
<div><span color="#808000" style="color: #808000;">#define</span> EVENT_KEY0 '0'</div>
<div><span color="#808000" style="color: #808000;">#define</span> EVENT_KEY1 '1'</div>
<div><span color="#808000" style="color: #808000;">#define</span> EVENT_KEY2 '2'</div>
<div><span color="#808000" style="color: #808000;">#define</span> EVENT_KEY3 '3'</div>
<div><span color="#808000" style="color: #808000;">#define</span> EVENT_KEY4 '4'</div>
<div><span color="#808000" style="color: #808000;">#define</span> EVENT_KEY5 '5'</div>
<div><span color="#808000" style="color: #808000;">#define</span> EVENT_KEY6 '6'</div>
<div><span color="#808000" style="color: #808000;">#define</span> EVENT_KEY7 '7'</div>
<div><span color="#808000" style="color: #808000;">#define</span> EVENT_KEY8 '8'</div>
<div><span color="#808000" style="color: #808000;">#define</span> EVENT_KEY9 '9'</div>
<div><span color="#808000" style="color: #808000;">#define</span> EVENT_KEYA 'A'</div>
<div><span color="#808000" style="color: #808000;">#define</span> EVENT_KEYB 'B'</div>
<div><span color="#808000" style="color: #808000;">#define</span> EVENT_KEYC 'C'</div>
<div><span color="#808000" style="color: #808000;">#define</span> EVENT_KEYD 'D'</div>
<div><span color="#808000" style="color: #808000;">#define</span> EVENT_KEYZ '*'</div>
<div><span color="#808000" style="color: #808000;">#define</span> EVENT_KEYR '#'</div>
<div>&nbsp;</div>
<div>&nbsp; &nbsp;Здесь никаких требований нет. Коды кнопок совершенно произвольные. Можно задать символьные значения, соответствующие кнопкам клавиатуры, как это сделано по умолчанию. А можно задать коды, которые будут использоваться в событийной системе.&nbsp;</div>
<h1>Использование модуля</h1>
<div>&nbsp; &nbsp;В модуле реализовано три пользовательские функции.</div>
<div>&nbsp;</div>
<div><b>void KEYB_Init(void)</b> – функция инициализации</div>
<div><b>void KEYB_ScanKeyboard(void)</b> – функция сканирования клавиатуры</div>
<div><b>unsigned char KEYB_GetKey(void)</b> – функция проверки буфера</div>
<div>&nbsp;</div>
<div>KEYB_Init() нужно запускать перед использованием двух других функций. Обычно это делается &nbsp;в начале main`a.</div>
<div>&nbsp;</div>
<div style="text-align: justify;">KEYB_ScanKeyboard() – это основная функция, реализующая всю работу модуля. Она требует периодического запуска. Можно вставить ее в обработчик прерывания таймера, а можно вызывать ее из основного цикла программы по его сигналу. Первый вариант более расточителен в плане ресурсов микроконтроллера.&nbsp;</div>
<div>&nbsp;</div>
<div style="text-align: justify;">KEYB_GetKey() – эта функция возвращает код кнопки, заданный в заголовочном файле keyboard.h. Если кнопочный буфер пуст – функция возвращает код &nbsp;EVENT_NULL. Вызываем эту функцию там, где собираемся обрабатывать нажатия кнопок.&nbsp;</div>
<h1>Тестовые проекты</h1>
<div>&nbsp; &nbsp;Как обычно, прилагаю тестовые проекты для трех компиляторов. Все они были проверены в железе. Схема на рисунке ниже.<br>Для любителей симуляций - проект для Протеуса. Сделан на скорую руку, поэтому отличается от реальной схемы.</div>
<div>&nbsp;</div>
<div style="text-align: center;"><a mce_href="/images/stories/articles/c_course/keyboard-2/keyboard-b.png" title="Схема подключения матричной клавиатуры" target="_blank" href="http://chipenable.ru/images/stories/articles/c_course/keyboard-2/keyboard-b.png"><img alt="" src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/keyboard-s.png"></a></div>
<h1>Файлы</h1>
<div><a mce_href="/files/course/Keyboard2/Keyboard2-IAR.rar" title="Опрос матричной клавиатуры. Тестовый проект для IAR AVR" target="_blank" href="http://chipenable.ru/files/course/Keyboard2/Keyboard2-IAR.rar">Опрос клавиатуры – IAR</a></div>
<div><a mce_href="/files/course/Keyboard2/Keyboard2-WINAVR.rar" target="_blank" href="http://chipenable.ru/files/course/Keyboard2/Keyboard2-WINAVR.rar">Опрос клавиатуры – WinAVR</a></div>
<div><a mce_href="/files/course/Keyboard2/Keyboard2-CV.rar" target="_blank" href="http://chipenable.ru/files/course/Keyboard2/Keyboard2-CV.rar">Опрос клавиатуры – CodeVision</a></div>
<div><a mce_href="/files/course/Keyboard2/avr-lib-keyboard.rar" target="_blank" href="http://chipenable.ru/files/course/Keyboard2/avr-lib-keyboard.rar">Драйвер матричной клавиатуры</a></div>
<div><a mce_href="/files/course/Keyboard2/Keyboard2-Proteus.rar" target="_blank" href="http://chipenable.ru/files/course/Keyboard2/Keyboard2-Proteus.rar">Проект для Proteus`а</a><br></div>	  
	  	  	  </td></tr></tbody></table>

		<div class="clr"></div>

	  
				<div class="itemContentFooter">

						<!-- Item Hits -->
			<span class="itemHits">
							</span>
			
						<!-- Item date modified -->
			<span class="itemDateModified">
							</span>
			
			<div class="clr"></div>
		</div>
		
	  <!-- Plugins: AfterDisplayContent -->
	  
	  <!-- K2 Plugins: K2AfterDisplayContent -->
	  
	  <div class="clr"></div>
  </div>

	

<script type="text/javascript">(function() {
  if (window.pluso)if (typeof window.pluso.start == "function") return;
  if (window.ifpluso==undefined) { window.ifpluso = 1;
    var d = document, s = d.createElement('script'), g = 'getElementsByTagName';
    s.type = 'text/javascript'; s.charset='UTF-8'; s.async = true;
    s.src = ('https:' == window.location.protocol ? 'https' : 'http')  + '://share.pluso.ru/pluso-like.js';
    var h=d[g]('body')[0];
    h.appendChild(s);
  }})();</script>
<div class="pluso" data-background="transparent" data-options="big,square,line,horizontal,counter,theme=06" data-services="vkontakte,odnoklassniki,facebook,twitter,google,moimir,email,print"><div class="pluso-010010101001-06"><span class="pluso-wrap" style="background:transparent"><a href="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/Библиотека для опроса матричной клавиатуры 4x4 и 3х4.htm" title="ВКонтакте" class="pluso-vkontakte"></a><a href="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/Библиотека для опроса матричной клавиатуры 4x4 и 3х4.htm" title="Одноклассники" class="pluso-odnoklassniki"></a><a href="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/Библиотека для опроса матричной клавиатуры 4x4 и 3х4.htm" title="Facebook" class="pluso-facebook"></a><a href="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/Библиотека для опроса матричной клавиатуры 4x4 и 3х4.htm" title="Twitter" class="pluso-twitter"></a><a href="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/Библиотека для опроса матричной клавиатуры 4x4 и 3х4.htm" title="Google+" class="pluso-google"></a><a href="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/Библиотека для опроса матричной клавиатуры 4x4 и 3х4.htm" title="Мой Мир@Mail.Ru" class="pluso-moimir"></a><a href="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/Библиотека для опроса матричной клавиатуры 4x4 и 3х4.htm" title="Отправить на email" class="pluso-email"></a><a href="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/Библиотека для опроса матричной клавиатуры 4x4 и 3х4.htm" title="Печатать" class="pluso-print"></a><a href="http://pluso.ru/" class="pluso-more"></a></span><span class="pluso-counter"><b title="0">0</b></span></div></div>


    <div class="itemLinks">

				<!-- Item category -->
		<div class="itemCategory">
			<span></span>
			<a href="http://chipenable.ru/"></a>
		</div>
		
	  	  <!-- Item tags -->
	  <div class="itemTagsBlock">
		  <span>Теги:</span>
		  <span class="itemTags">
		    <a href="http://chipenable.ru/index.php/programming-avr/itemlist/tag/%D0%B4%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80.html">драйвер</a>, <a href="http://chipenable.ru/index.php/programming-avr/itemlist/tag/%D0%BF%D0%B5%D1%80%D0%B8%D1%84%D0%B5%D1%80%D0%B8%D1%8F.html">периферия</a>, <a href="http://chipenable.ru/index.php/programming-avr/itemlist/tag/%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B.html">алгоритмы</a>, <a href="http://chipenable.ru/index.php/programming-avr/itemlist/tag/%D0%BA%D0%BD%D0%BE%D0%BF%D0%BA%D0%B8.html">кнопки</a>, <a href="http://chipenable.ru/index.php/programming-avr/itemlist/tag/%D0%B1%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B8.html">библиотеки</a>		  </span>
		  <div class="clr"></div>
	  </div>
	  
	  
		<div class="clr"></div>
  </div>
  
    <!-- Author Block -->
  <div class="itemAuthorBlock">

  	  	<img class="itemAuthorAvatar" src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/25.jpg" alt="Pashgan">
  	
    <div class="itemAuthorDetails">
      <h3 class="itemAuthorName">
      	<a rel="author" href="http://chipenable.ru/index.php/programming-avr/itemlist/user/62-pashgan.html">Pashgan</a>
      </h3>

      
      
      
			<div class="clr"></div>

			<!-- K2 Plugins: K2UserDisplay -->
			
    </div>
    <div class="clr"></div>
  </div>
  
    <!-- Latest items from author -->
	<div class="itemAuthorLatest">
		<h3>Последнее от Pashgan</h3>
		<ul>
						<li class="even">
				<a href="http://chipenable.ru/index.php/donate.html">Donate</a>
			</li>
						<li class="odd">
				<a href="http://chipenable.ru/index.php/programming-avr/item/147-semisegmentnyj-indikator.html">Библиотека для семисегментного индикатора</a>
			</li>
						<li class="even">
				<a href="http://chipenable.ru/index.php/how-connection/item/146-raschet-bestransformatornoj-shemy.html">Бестрансформаторный блок питания. Расчет. Ч2</a>
			</li>
						<li class="odd">
				<a href="http://chipenable.ru/index.php/how-connection/item/145-bestransformatornoe-pitanie-sxema.html">Бестрансформаторное питание. Принцип работы. Ч.1</a>
			</li>
						<li class="even">
				<a href="http://chipenable.ru/index.php/programming-avr/item/144-sqrt-root.html">Быстрое вычисление квадратного корня на Си</a>
			</li>
					</ul>
		<div class="clr"></div>
	</div>
	
			
    <!-- Related items by tag -->
	<div class="itemRelated">
		<h3>Похожие материалы (по тегу)</h3>
		<ul>
						<li class="even">
			
								<a class="itemRelTitle" href="http://chipenable.ru/index.php/programming-avr/item/206-biblioteka-dlya-semisegmentnogo-indikatora-s-proizvolnym-podklyucheniem-vyvodov.html">Библиотека для семисегментного индикатора с произвольным подключением выводов </a>
				
								
								
								
								
				
								
							</li>
						<li class="odd">
			
								<a class="itemRelTitle" href="http://chipenable.ru/index.php/embedded-programming/item/203-mediannyy-filtr.html">Медианный фильтр</a>
				
								
								
								
								
				
								
							</li>
						<li class="even">
			
								<a class="itemRelTitle" href="http://chipenable.ru/index.php/programming-avr/item/192-prostoy-parser-dlya-mikrokontrollera.html">Простой парсер для микроконтроллера</a>
				
								
								
								
								
				
								
							</li>
						<li class="odd">
			
								<a class="itemRelTitle" href="http://chipenable.ru/index.php/how-connection/item/170-sensornaya-knopka.html">Сенсорная кнопка на микроконтроллере ATtiny</a>
				
								
								
								
								
				
								
							</li>
						<li class="even">
			
								<a class="itemRelTitle" href="http://chipenable.ru/index.php/programming-avr/item/162-prostoy-cifrovoy-filtr.html">Простой цифровой фильтр на микроконтроллере</a>
				
								
								
								
								
				
								
							</li>
						<li class="clr"></li>
		</ul>
		<div class="clr"></div>
	</div>
	
	<div class="clr"></div>

  
  
    <!-- Item navigation -->
  <div class="itemNavigation">
  	<span class="itemNavigationTitle">Другие материалы в этой категории:</span>

				<a class="itemPrevious" href="http://chipenable.ru/index.php/programming-avr/item/111-kak-izbezhat-tipichnyh-bagov-vstroennogo-po-ch1.html">
			« Как избежать типичных багов встроенного ПО. ч.1		</a>
		
				<a class="itemNext" href="http://chipenable.ru/index.php/programming-avr/item/106-1-wire-rabota-s-ds18b20-ispolzovanie-dvuh-datchikov-chast-4.html">
			1-Wire. Работа с DS18B20. Использование двух датчиков. Часть 4 »
		</a>
		
  </div>
  
  <!-- Plugins: AfterDisplay -->
  
  <!-- K2 Plugins: K2AfterDisplay -->
  
    <!-- K2 Plugins: K2CommentsBlock -->
  <div id="jc_vk_share_head" class="jc">
				<a href="javascript:void(null)" onclick="jc_vk_show_hide(&#39;jc&#39;, &#39;vk&#39;, this);" class="jc_vk_share_link jc_link">На сайте</a><a href="javascript:void(null)" onclick="jc_vk_show_hide(&#39;vk&#39;, &#39;jc&#39;, this);" class="jc_vk_share_link vk_link">Вконтакте</a>
			</div>
			<div class="jc_vk_share_body">
				<div id="jc_vk_share_jc"><script type="text/javascript">
<!--
var jcomments=new JComments(109, 'com_k2','/index.php/component/jcomments/');
jcomments.setList('comments-list');
//-->
</script>
<div id="jc">
<div id="comments"><h4>Комментарии <a class="rss" href="http://chipenable.ru/index.php/component/jcomments/feed/com_k2/109.html" title="RSS лента комментариев этой записи" target="_blank">&nbsp;</a><a class="refresh" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" title="Обновить список комментариев" onclick="jcomments.showPage(109,&#39;com_k2&#39;,0);return false;">&nbsp;</a></h4>
<div class="comments-list" id="comments-list-0">
		<div class="even" id="comment-item-1777">
<div class="rbox"><div class="rbox_tr"><div class="rbox_tl"><div class="rbox_t">&nbsp;</div></div></div><div class="rbox_m">
<div class="comment-avatar"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/avatar.php" alt="foxit"></div>
<div class="comment-box avatar-indent">
<a class="comment-anchor" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#comment-1777" id="comment-1777">#</a>
<span class="comment-author">foxit</span>
<span class="comment-date">14.10.2011 18:13</span>
<div class="comment-body" id="comment-body-1777">Спасибо, то что надо</div>
<span class="comments-buttons">
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(1777); return false;">Ответить</a>
 | <a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(1777,1); return false;">Ответить с цитатой</a> | 
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.quoteComment(1777); return false;">Цитировать</a>
</span>
</div><div class="clear"></div>
</div><div class="rbox_br"><div class="rbox_bl"><div class="rbox_b">&nbsp;</div></div></div></div>
		</div>
		<div class="odd" id="comment-item-1778">
<div class="rbox"><div class="rbox_tr"><div class="rbox_tl"><div class="rbox_t">&nbsp;</div></div></div><div class="rbox_m">
<div class="comment-avatar"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/avatar(1).php" alt="Gromozeka"></div>
<div class="comment-box avatar-indent">
<a class="comment-anchor" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#comment-1778" id="comment-1778">#</a>
<span class="comment-author">Gromozeka</span>
<span class="comment-date">14.10.2011 19:18</span>
<div class="comment-body" id="comment-body-1778">Вот, вот. Здесь всегда то, что надо. Большое человеческое спасибо, Pashgan.</div>
<span class="comments-buttons">
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(1778); return false;">Ответить</a>
 | <a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(1778,1); return false;">Ответить с цитатой</a> | 
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.quoteComment(1778); return false;">Цитировать</a>
</span>
</div><div class="clear"></div>
</div><div class="rbox_br"><div class="rbox_bl"><div class="rbox_b">&nbsp;</div></div></div></div>
		</div>
		<div class="even" id="comment-item-1779">
<div class="rbox"><div class="rbox_tr"><div class="rbox_tl"><div class="rbox_t">&nbsp;</div></div></div><div class="rbox_m">
<div class="comment-avatar"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/avatar(2).php" alt="Pashgan"></div>
<div class="comment-box avatar-indent">
<a class="comment-anchor" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#comment-1779" id="comment-1779">#</a>
<span class="comment-author">Pashgan</span>
<span class="comment-date">14.10.2011 21:31</span>
<div class="comment-body" id="comment-body-1779">Пожалуйста. Главное, чтобы это принесло пользу.</div>
<span class="comments-buttons">
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(1779); return false;">Ответить</a>
 | <a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(1779,1); return false;">Ответить с цитатой</a> | 
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.quoteComment(1779); return false;">Цитировать</a>
</span>
</div><div class="clear"></div>
</div><div class="rbox_br"><div class="rbox_bl"><div class="rbox_b">&nbsp;</div></div></div></div>
		</div>
		<div class="odd" id="comment-item-1780">
<div class="rbox"><div class="rbox_tr"><div class="rbox_tl"><div class="rbox_t">&nbsp;</div></div></div><div class="rbox_m">
<div class="comment-avatar"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/avatar(3).php" alt="s_black"></div>
<div class="comment-box avatar-indent">
<a class="comment-anchor" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#comment-1780" id="comment-1780">#</a>
<span class="comment-author">s_black</span>
<span class="comment-date">15.10.2011 20:02</span>
<div class="comment-body" id="comment-body-1780">Я, конечно, не такой спец как Вы, Pashgan, но мне кажется, что у меня вышло проще http://www.embed.com.ua/mikrokontrollernyiy-konstruktor/matrichnaya-klaviatura/. И строки со столбцами можно подключать на любые разряды любых портов.</div>
<span class="comments-buttons">
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(1780); return false;">Ответить</a>
 | <a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(1780,1); return false;">Ответить с цитатой</a> | 
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.quoteComment(1780); return false;">Цитировать</a>
</span>
</div><div class="clear"></div>
</div><div class="rbox_br"><div class="rbox_bl"><div class="rbox_b">&nbsp;</div></div></div></div>
	</div>
	<div class="comments-list" id="comments-list-1780">
		<div class="even" id="comment-item-1781">
<div class="rbox"><div class="rbox_tr"><div class="rbox_tl"><div class="rbox_t">&nbsp;</div></div></div><div class="rbox_m">
<div class="comment-avatar"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/avatar(2).php" alt="Pashgan"></div>
<div class="comment-box avatar-indent">
<a class="comment-anchor" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#comment-1781" id="comment-1781">#</a>
<span class="comment-author">Pashgan</span>
<span class="comment-date">16.10.2011 07:56</span>
<div class="comment-body" id="comment-body-1781">За основу я брал код из applications note фирмы IAR. Все претензии к ним). <br>К тому же проще не значит лучше. <br>Да и функционал твоего и моего кода отличается.</div>
<span class="comments-buttons">
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(1781); return false;">Ответить</a>
 | <a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(1781,1); return false;">Ответить с цитатой</a> | 
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.quoteComment(1781); return false;">Цитировать</a>
</span>
</div><div class="clear"></div>
</div><div class="rbox_br"><div class="rbox_bl"><div class="rbox_b">&nbsp;</div></div></div></div>
		</div>
	</div>
		<div class="odd" id="comment-item-1783">
<div class="rbox"><div class="rbox_tr"><div class="rbox_tl"><div class="rbox_t">&nbsp;</div></div></div><div class="rbox_m">
<div class="comment-avatar"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/avatar(3).php" alt="s_black"></div>
<div class="comment-box avatar-indent">
<a class="comment-anchor" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#comment-1783" id="comment-1783">#</a>
<span class="comment-author">s_black</span>
<span class="comment-date">16.10.2011 13:32</span>
<div class="comment-body" id="comment-body-1783">Функционал одинаков - отработка нажатия кнопки в матрице. А насчёт аппноутов... Там очень часто, почти всегда, куча лишнего кода.</div>
<span class="comments-buttons">
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(1783); return false;">Ответить</a>
 | <a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(1783,1); return false;">Ответить с цитатой</a> | 
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.quoteComment(1783); return false;">Цитировать</a>
</span>
</div><div class="clear"></div>
</div><div class="rbox_br"><div class="rbox_bl"><div class="rbox_b">&nbsp;</div></div></div></div>
		</div>
		<div class="even" id="comment-item-1784">
<div class="rbox"><div class="rbox_tr"><div class="rbox_tl"><div class="rbox_t">&nbsp;</div></div></div><div class="rbox_m">
<div class="comment-avatar"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/avatar(4).php" alt="JoJo"></div>
<div class="comment-box avatar-indent">
<a class="comment-anchor" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#comment-1784" id="comment-1784">#</a>
<span class="comment-author">JoJo</span>
<span class="comment-date">17.10.2011 07:50</span>
<div class="comment-body" id="comment-body-1784">Отличие все таки есть.<br>- возможность использования с любым из трех компиляторов IAR, GCC, CodeVision,<br>- поддержка клавиатур 4х4 и 3х4<br>- поддержка работы на общей шине<br>- программная антидребезговая защита</div>
<span class="comments-buttons">
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(1784); return false;">Ответить</a>
 | <a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(1784,1); return false;">Ответить с цитатой</a> | 
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.quoteComment(1784); return false;">Цитировать</a>
</span>
</div><div class="clear"></div>
</div><div class="rbox_br"><div class="rbox_bl"><div class="rbox_b">&nbsp;</div></div></div></div>
		</div>
		<div class="odd" id="comment-item-1785">
<div class="rbox"><div class="rbox_tr"><div class="rbox_tl"><div class="rbox_t">&nbsp;</div></div></div><div class="rbox_m">
<div class="comment-avatar"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/avatar(3).php" alt="s_black"></div>
<div class="comment-box avatar-indent">
<a class="comment-anchor" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#comment-1785" id="comment-1785">#</a>
<span class="comment-author">s_black</span>
<span class="comment-date">17.10.2011 09:09</span>
<div class="comment-body" id="comment-body-1785">to JoJo: <br>- зная среду разработки перенести код не составит труда;<br>- добавив аналогичный в коде фрагмент, возможна поддержка хоть 8х8 (в статье указано);<br>- хоть на одном порту, хоть вразброс;<br>- добавляется две строки в зависимости от использования (в прерывании, в цикле);<br>Я никоим образом не говорю, что мой код лучше))) Я адекватно оцениваю способности людей и могу сказать, что товарищ Pashgan разработчик уровнем выше меня. Форумы для того и нужны, чтобы обмениваться опытом, искать что-то новое. Всем удачи!</div>
<span class="comments-buttons">
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(1785); return false;">Ответить</a>
 | <a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(1785,1); return false;">Ответить с цитатой</a> | 
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.quoteComment(1785); return false;">Цитировать</a>
</span>
</div><div class="clear"></div>
</div><div class="rbox_br"><div class="rbox_bl"><div class="rbox_b">&nbsp;</div></div></div></div>
		</div>
		<div class="even" id="comment-item-1791">
<div class="rbox"><div class="rbox_tr"><div class="rbox_tl"><div class="rbox_t">&nbsp;</div></div></div><div class="rbox_m">
<div class="comment-avatar"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/avatar(4).php" alt="ROM"></div>
<div class="comment-box avatar-indent">
<a class="comment-anchor" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#comment-1791" id="comment-1791">#</a>
<span class="comment-author">ROM</span>
<span class="comment-date">22.10.2011 10:17</span>
<div class="comment-body" id="comment-body-1791">При использовании #define COMMON_BUS в ATMEGA8 в протерусе вылетают ошибки: что-то с доступом к памяти (за пределами)</div>
<span class="comments-buttons">
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(1791); return false;">Ответить</a>
 | <a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(1791,1); return false;">Ответить с цитатой</a> | 
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.quoteComment(1791); return false;">Цитировать</a>
</span>
</div><div class="clear"></div>
</div><div class="rbox_br"><div class="rbox_bl"><div class="rbox_b">&nbsp;</div></div></div></div>
	</div>
	<div class="comments-list" id="comments-list-1791">
		<div class="odd" id="comment-item-1792">
<div class="rbox"><div class="rbox_tr"><div class="rbox_tl"><div class="rbox_t">&nbsp;</div></div></div><div class="rbox_m">
<div class="comment-avatar"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/avatar(4).php" alt="Igor-k"></div>
<div class="comment-box avatar-indent">
<a class="comment-anchor" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#comment-1792" id="comment-1792">#</a>
<span class="comment-author">Igor-k</span>
<span class="comment-date">22.10.2011 13:05</span>
<div class="comment-body" id="comment-body-1792">Может ты порты неправильно определил? В восмой меге их же меньше, чем в шестнадцатой</div>
<span class="comments-buttons">
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(1792); return false;">Ответить</a>
 | <a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(1792,1); return false;">Ответить с цитатой</a> | 
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.quoteComment(1792); return false;">Цитировать</a>
</span>
</div><div class="clear"></div>
</div><div class="rbox_br"><div class="rbox_bl"><div class="rbox_b">&nbsp;</div></div></div></div>
		</div>
	</div>
		<div class="even" id="comment-item-1802">
<div class="rbox"><div class="rbox_tr"><div class="rbox_tl"><div class="rbox_t">&nbsp;</div></div></div><div class="rbox_m">
<div class="comment-avatar"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/avatar(4).php" alt="Alex_F"></div>
<div class="comment-box avatar-indent">
<a class="comment-anchor" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#comment-1802" id="comment-1802">#</a>
<span class="comment-author">Alex_F</span>
<span class="comment-date">27.10.2011 02:58</span>
<div class="comment-body" id="comment-body-1802">Спасибо автору за сайт и его труд.Все материалы,по концепции программировани<span style="font-size:0;padding:0;margin:0;"> </span>я и по Си в частности, изложены простым и понятным образом. Мне очень поучительно. Хотелось бы уточнить момент с вариантом вызова функции KEYB_ScanKeyboa<span style="font-size:0;padding:0;margin:0;"> </span>rd(). Я не совсем понял, как все же лучше с ней поступить, в плане экономии ресурсов контроллера? Не совсем понятна фраза "можно вызывать ее из основного цикла программы по его сигналу".</div>
<span class="comments-buttons">
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(1802); return false;">Ответить</a>
 | <a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(1802,1); return false;">Ответить с цитатой</a> | 
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.quoteComment(1802); return false;">Цитировать</a>
</span>
</div><div class="clear"></div>
</div><div class="rbox_br"><div class="rbox_bl"><div class="rbox_b">&nbsp;</div></div></div></div>
	</div>
	<div class="comments-list" id="comments-list-1802">
		<div class="odd" id="comment-item-1804">
<div class="rbox"><div class="rbox_tr"><div class="rbox_tl"><div class="rbox_t">&nbsp;</div></div></div><div class="rbox_m">
<div class="comment-avatar"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/avatar(2).php" alt="Pashgan"></div>
<div class="comment-box avatar-indent">
<a class="comment-anchor" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#comment-1804" id="comment-1804">#</a>
<span class="comment-author">Pashgan</span>
<span class="comment-date">27.10.2011 06:27</span>
<div class="comment-body" id="comment-body-1804">Например так. В прерывании взводим флаг, в основном цикле проверяем.<br><br><span class="code">Код:</span><code><br>...<br>volatile unsigned char flag = 0;<br>...<br>int main(void)<br>{<br>...<br>while(1){<br> if (flag){<br> KEYB_ScanKeyboard();<br> flag = 0;<br> }<br><br>}<br><br>}<br>....<br>//прерывание таймера<br>...<br>{<br> flag = 1;<br>}<br></code></div>
<span class="comments-buttons">
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(1804); return false;">Ответить</a>
 | <a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(1804,1); return false;">Ответить с цитатой</a> | 
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.quoteComment(1804); return false;">Цитировать</a>
</span>
</div><div class="clear"></div>
</div><div class="rbox_br"><div class="rbox_bl"><div class="rbox_b">&nbsp;</div></div></div></div>
	</div>
	<div class="comments-list" id="comments-list-1804">
		<div class="even" id="comment-item-1805">
<div class="rbox"><div class="rbox_tr"><div class="rbox_tl"><div class="rbox_t">&nbsp;</div></div></div><div class="rbox_m">
<div class="comment-avatar"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/avatar(4).php" alt="Alex_F"></div>
<div class="comment-box avatar-indent">
<a class="comment-anchor" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#comment-1805" id="comment-1805">#</a>
<span class="comment-author">Alex_F</span>
<span class="comment-date">27.10.2011 07:28</span>
<div class="comment-body" id="comment-body-1805">Спасибо! Теперь ясно  <img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/smile.gif" border="0" alt=":-)"> </div>
<span class="comments-buttons">
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(1805); return false;">Ответить</a>
 | <a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(1805,1); return false;">Ответить с цитатой</a> | 
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.quoteComment(1805); return false;">Цитировать</a>
</span>
</div><div class="clear"></div>
</div><div class="rbox_br"><div class="rbox_bl"><div class="rbox_b">&nbsp;</div></div></div></div>
		</div>
	</div>
	</div>
		<div class="odd" id="comment-item-1934">
<div class="rbox"><div class="rbox_tr"><div class="rbox_tl"><div class="rbox_t">&nbsp;</div></div></div><div class="rbox_m">
<div class="comment-avatar"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/avatar(4).php" alt="Alex_R"></div>
<div class="comment-box avatar-indent">
<a class="comment-anchor" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#comment-1934" id="comment-1934">#</a>
<span class="comment-author">Alex_R</span>
<span class="comment-date">04.01.2012 14:44</span>
<div class="comment-body" id="comment-body-1934">Хм А подскажите неужели ваши исходники не позволяют использовать одинаковые пины но на разных портах для row и col ?<br><span class="code">Код:</span><code><br> if (~PINX_ROW &amp; ROW_MASK) {<br> keyCode = PINX_ROW &amp; ROW_MASK;<br> keyCode |= PORTX_COL &amp; COL_MASK;<br> return;<br></code></div>
<span class="comments-buttons">
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(1934); return false;">Ответить</a>
 | <a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(1934,1); return false;">Ответить с цитатой</a> | 
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.quoteComment(1934); return false;">Цитировать</a>
</span>
</div><div class="clear"></div>
</div><div class="rbox_br"><div class="rbox_bl"><div class="rbox_b">&nbsp;</div></div></div></div>
	</div>
	<div class="comments-list" id="comments-list-1934">
		<div class="even" id="comment-item-2191">
<div class="rbox"><div class="rbox_tr"><div class="rbox_tl"><div class="rbox_t">&nbsp;</div></div></div><div class="rbox_m">
<div class="comment-avatar"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/avatar(2).php" alt="Pashgan"></div>
<div class="comment-box avatar-indent">
<a class="comment-anchor" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#comment-2191" id="comment-2191">#</a>
<span class="comment-author">Pashgan</span>
<span class="comment-date">31.10.2012 21:41</span>
<div class="comment-body" id="comment-body-2191">в тексте написано<br><span class="quote">Цитата:</span><blockquote><div>Выводы микроконтроллера, подключенные к строкам и столбцам матричной клавиатуры, не должны совпадать между собой.</div></blockquote></div>
<span class="comments-buttons">
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(2191); return false;">Ответить</a>
 | <a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(2191,1); return false;">Ответить с цитатой</a> | 
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.quoteComment(2191); return false;">Цитировать</a>
</span>
</div><div class="clear"></div>
</div><div class="rbox_br"><div class="rbox_bl"><div class="rbox_b">&nbsp;</div></div></div></div>
		</div>
	</div>
		<div class="odd" id="comment-item-2187">
<div class="rbox"><div class="rbox_tr"><div class="rbox_tl"><div class="rbox_t">&nbsp;</div></div></div><div class="rbox_m">
<div class="comment-avatar"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/avatar(5).php" alt="Xarm"></div>
<div class="comment-box avatar-indent">
<a class="comment-anchor" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#comment-2187" id="comment-2187">#</a>
<span class="comment-author">Xarm</span>
<span class="comment-date">29.10.2012 02:36</span>
<div class="comment-body" id="comment-body-2187">Pashgan, скажите, есть ли ограничение длины провода от МК до Клавиатуры?</div>
<span class="comments-buttons">
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(2187); return false;">Ответить</a>
 | <a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(2187,1); return false;">Ответить с цитатой</a> | 
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.quoteComment(2187); return false;">Цитировать</a>
</span>
</div><div class="clear"></div>
</div><div class="rbox_br"><div class="rbox_bl"><div class="rbox_b">&nbsp;</div></div></div></div>
	</div>
	<div class="comments-list" id="comments-list-2187">
		<div class="even" id="comment-item-2192">
<div class="rbox"><div class="rbox_tr"><div class="rbox_tl"><div class="rbox_t">&nbsp;</div></div></div><div class="rbox_m">
<div class="comment-avatar"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/avatar(2).php" alt="Pashgan"></div>
<div class="comment-box avatar-indent">
<a class="comment-anchor" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#comment-2192" id="comment-2192">#</a>
<span class="comment-author">Pashgan</span>
<span class="comment-date">31.10.2012 21:42</span>
<div class="comment-body" id="comment-body-2192">Больше полуметра я бы не стал делать.</div>
<span class="comments-buttons">
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(2192); return false;">Ответить</a>
 | <a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(2192,1); return false;">Ответить с цитатой</a> | 
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.quoteComment(2192); return false;">Цитировать</a>
</span>
</div><div class="clear"></div>
</div><div class="rbox_br"><div class="rbox_bl"><div class="rbox_b">&nbsp;</div></div></div></div>
		</div>
	</div>
		<div class="odd" id="comment-item-2346">
<div class="rbox"><div class="rbox_tr"><div class="rbox_tl"><div class="rbox_t">&nbsp;</div></div></div><div class="rbox_m">
<div class="comment-avatar"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/avatar(6).php" alt="pavel s"></div>
<div class="comment-box avatar-indent">
<a class="comment-anchor" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#comment-2346" id="comment-2346">#</a>
<span class="comment-author">pavel s</span>
<span class="comment-date">29.12.2012 17:11</span>
<div class="comment-body" id="comment-body-2346">доброго времени суток, пожалуйста подскажите не могу сделать так чтобы данные матричной клавиатуры собрать в буфер (переменную,дву<span style="font-size:0;padding:0;margin:0;"> </span>х и трёх разрядную в десятичном эквиваленте) для операций с ними, заранее спасибо</div>
<span class="comments-buttons">
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(2346); return false;">Ответить</a>
 | <a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(2346,1); return false;">Ответить с цитатой</a> | 
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.quoteComment(2346); return false;">Цитировать</a>
</span>
</div><div class="clear"></div>
</div><div class="rbox_br"><div class="rbox_bl"><div class="rbox_b">&nbsp;</div></div></div></div>
		</div>
		<div class="even" id="comment-item-2348">
<div class="rbox"><div class="rbox_tr"><div class="rbox_tl"><div class="rbox_t">&nbsp;</div></div></div><div class="rbox_m">
<div class="comment-avatar"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/avatar(7).php" alt="gadmin"></div>
<div class="comment-box avatar-indent">
<a class="comment-anchor" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#comment-2348" id="comment-2348">#</a>
<span class="comment-author">gadmin</span>
<span class="comment-date">30.12.2012 00:20</span>
<div class="comment-body" id="comment-body-2348">Atmel Studio 6.0 постоянно ругаетца<br>Error	4	variable 'keyTable' must be const in order to be put into read-only section by means of '__attribute__(<span style="font-size:0;padding:0;margin:0;"> </span>(progmem))'	C:\<span style="font-size:0;padding:0;margin:0;"> </span>Users\gadmin\Do<span style="font-size:0;padding:0;margin:0;"> </span>cuments\Atmel Studio\GccApplication2\GccApplication2\keyboard.c	61	39	GccApplication2<br>как это исправить<br>`</div>
<span class="comments-buttons">
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(2348); return false;">Ответить</a>
 | <a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(2348,1); return false;">Ответить с цитатой</a> | 
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.quoteComment(2348); return false;">Цитировать</a>
</span>
</div><div class="clear"></div>
</div><div class="rbox_br"><div class="rbox_bl"><div class="rbox_b">&nbsp;</div></div></div></div>
		</div>
		<div class="odd" id="comment-item-2981">
<div class="rbox"><div class="rbox_tr"><div class="rbox_tl"><div class="rbox_t">&nbsp;</div></div></div><div class="rbox_m">
<div class="comment-avatar"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/avatar(8).php" alt="Plotnik"></div>
<div class="comment-box avatar-indent">
<a class="comment-anchor" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#comment-2981" id="comment-2981">#</a>
<span class="comment-author">Plotnik</span>
<span class="comment-date">15.07.2013 19:28</span>
<div class="comment-body" id="comment-body-2981">"Можно задать символьные значения, соответствующие кнопкам клавиатуры, как это сделано по умолчанию."-Я все оставил по умолчанию,но вместо 1-светится 9,и т.д.Все перепутано.В чем моя проблема?(1-9;2<span style="font-size:0;padding:0;margin:0;"> </span>-0;3-1;A-5;....<span style="font-size:0;padding:0;margin:0;"> </span>..)</div>
<span class="comments-buttons">
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(2981); return false;">Ответить</a>
 | <a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(2981,1); return false;">Ответить с цитатой</a> | 
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.quoteComment(2981); return false;">Цитировать</a>
</span>
</div><div class="clear"></div>
</div><div class="rbox_br"><div class="rbox_bl"><div class="rbox_b">&nbsp;</div></div></div></div>
	</div>
	<div class="comments-list" id="comments-list-2981">
		<div class="even" id="comment-item-2982">
<div class="rbox"><div class="rbox_tr"><div class="rbox_tl"><div class="rbox_t">&nbsp;</div></div></div><div class="rbox_m">
<div class="comment-avatar"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/avatar(2).php" alt="Pashgan"></div>
<div class="comment-box avatar-indent">
<a class="comment-anchor" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#comment-2982" id="comment-2982">#</a>
<span class="comment-author">Pashgan</span>
<span class="comment-date">15.07.2013 21:39</span>
<div class="comment-body" id="comment-body-2982">Выложи здесь свой проект http://chipenable.ru/index.php/forum/materialy-sajta-chipenable/3245-vetka-dlya-vremennogo-khraneniya-proektov.html</div>
<span class="comments-buttons">
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(2982); return false;">Ответить</a>
 | <a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(2982,1); return false;">Ответить с цитатой</a> | 
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.quoteComment(2982); return false;">Цитировать</a>
</span>
</div><div class="clear"></div>
</div><div class="rbox_br"><div class="rbox_bl"><div class="rbox_b">&nbsp;</div></div></div></div>
		</div>
	</div>
		<div class="odd" id="comment-item-3618">
<div class="rbox"><div class="rbox_tr"><div class="rbox_tl"><div class="rbox_t">&nbsp;</div></div></div><div class="rbox_m">
<div class="comment-avatar"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/avatar(9).php" alt="vitaliy"></div>
<div class="comment-box avatar-indent">
<a class="comment-anchor" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#comment-3618" id="comment-3618">#</a>
<span class="comment-author">vitaliy</span>
<span class="comment-date">04.01.2014 15:14</span>
<div class="comment-body" id="comment-body-3618">Здравствуйте.Сп<span style="font-size:0;padding:0;margin:0;"> </span>асибо за статью.<br>В файле протеуса ножки строк клавиатуры подключены к МК паралельно ногам шины даных LCD.Все симулируется нормально.<br>Поскажите как в реальной схеме защищаться от одновременого нажатия двух кнопок,залипани<span style="font-size:0;padding:0;margin:0;"> </span>й и тд.,чтобы остались целыми контролер и LCD?Достаточно ли одних резисторов 100 Ом?</div>
<span class="comments-buttons">
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(3618); return false;">Ответить</a>
 | <a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(3618,1); return false;">Ответить с цитатой</a> | 
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.quoteComment(3618); return false;">Цитировать</a>
</span>
</div><div class="clear"></div>
</div><div class="rbox_br"><div class="rbox_bl"><div class="rbox_b">&nbsp;</div></div></div></div>
	</div>
	<div class="comments-list" id="comments-list-3618">
		<div class="even" id="comment-item-3620">
<div class="rbox"><div class="rbox_tr"><div class="rbox_tl"><div class="rbox_t">&nbsp;</div></div></div><div class="rbox_m">
<div class="comment-avatar"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/avatar(2).php" alt="Pashgan"></div>
<div class="comment-box avatar-indent">
<a class="comment-anchor" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#comment-3620" id="comment-3620">#</a>
<span class="comment-author">Pashgan</span>
<span class="comment-date">04.01.2014 16:03</span>
<div class="comment-body" id="comment-body-3620">По идее да. Ток через выводы мк будет ограничен на уровне 5/(100 + 100) = 25 мА. И то он будет не постоянный, а импульсный. Для пущей надёги можно поставить больший номинал.</div>
<span class="comments-buttons">
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(3620); return false;">Ответить</a>
 | <a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(3620,1); return false;">Ответить с цитатой</a> | 
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.quoteComment(3620); return false;">Цитировать</a>
</span>
</div><div class="clear"></div>
</div><div class="rbox_br"><div class="rbox_bl"><div class="rbox_b">&nbsp;</div></div></div></div>
		</div>
	</div>
		<div class="odd" id="comment-item-3621">
<div class="rbox"><div class="rbox_tr"><div class="rbox_tl"><div class="rbox_t">&nbsp;</div></div></div><div class="rbox_m">
<div class="comment-avatar"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/avatar(9).php" alt="vitaliy"></div>
<div class="comment-box avatar-indent">
<a class="comment-anchor" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#comment-3621" id="comment-3621">#</a>
<span class="comment-author">vitaliy</span>
<span class="comment-date">04.01.2014 16:19</span>
<div class="comment-body" id="comment-body-3621">Я где-то читал,что-то про защитные диоды.</div>
<span class="comments-buttons">
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(3621); return false;">Ответить</a>
 | <a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(3621,1); return false;">Ответить с цитатой</a> | 
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.quoteComment(3621); return false;">Цитировать</a>
</span>
</div><div class="clear"></div>
</div><div class="rbox_br"><div class="rbox_bl"><div class="rbox_b">&nbsp;</div></div></div></div>
	</div>
	<div class="comments-list" id="comments-list-3621">
		<div class="even" id="comment-item-3627">
<div class="rbox"><div class="rbox_tr"><div class="rbox_tl"><div class="rbox_t">&nbsp;</div></div></div><div class="rbox_m">
<div class="comment-avatar"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/avatar(2).php" alt="Pashgan"></div>
<div class="comment-box avatar-indent">
<a class="comment-anchor" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#comment-3627" id="comment-3627">#</a>
<span class="comment-author">Pashgan</span>
<span class="comment-date">07.01.2014 05:36</span>
<div class="comment-body" id="comment-body-3627">Резисторов вполне достаточно.</div>
<span class="comments-buttons">
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(3627); return false;">Ответить</a>
 | <a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(3627,1); return false;">Ответить с цитатой</a> | 
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.quoteComment(3627); return false;">Цитировать</a>
</span>
</div><div class="clear"></div>
</div><div class="rbox_br"><div class="rbox_bl"><div class="rbox_b">&nbsp;</div></div></div></div>
		</div>
	</div>
		<div class="odd" id="comment-item-3729">
<div class="rbox"><div class="rbox_tr"><div class="rbox_tl"><div class="rbox_t">&nbsp;</div></div></div><div class="rbox_m">
<div class="comment-avatar"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/avatar(10).php" alt="Максим"></div>
<div class="comment-box avatar-indent">
<a class="comment-anchor" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#comment-3729" id="comment-3729">#</a>
<span class="comment-author">Максим</span>
<span class="comment-date">29.01.2014 13:45</span>
<div class="comment-body" id="comment-body-3729">Спасибо за библиотеку.<br>Хочу использовать для подключения 4 кнопок.<br>Грубо говоря получается клавиатура 1*4 или 4*1. Причем кнопки будут подключены на корпус одним выводом, т.е. 4 ряда на контроллер, а 1 столбец на корпус или наоборот.<br>Подскажите что надо на контроллер - ряды или столбцы?</div>
<span class="comments-buttons">
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(3729); return false;">Ответить</a>
 | <a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(3729,1); return false;">Ответить с цитатой</a> | 
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.quoteComment(3729); return false;">Цитировать</a>
</span>
</div><div class="clear"></div>
</div><div class="rbox_br"><div class="rbox_bl"><div class="rbox_b">&nbsp;</div></div></div></div>
	</div>
	<div class="comments-list" id="comments-list-3729">
		<div class="even" id="comment-item-3740">
<div class="rbox"><div class="rbox_tr"><div class="rbox_tl"><div class="rbox_t">&nbsp;</div></div></div><div class="rbox_m">
<div class="comment-avatar"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/avatar(2).php" alt="Pashgan"></div>
<div class="comment-box avatar-indent">
<a class="comment-anchor" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#comment-3740" id="comment-3740">#</a>
<span class="comment-author">Pashgan</span>
<span class="comment-date">31.01.2014 11:56</span>
<div class="comment-body" id="comment-body-3740">Лучше взять вот эту библиотеку http://chipenable.ru/index.php/programming-avr/item/38-uchebnyy-kurs-opros-knopok.html. Она как раз для 4-ех кнопок.</div>
<span class="comments-buttons">
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(3740); return false;">Ответить</a>
 | <a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(3740,1); return false;">Ответить с цитатой</a> | 
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.quoteComment(3740); return false;">Цитировать</a>
</span>
</div><div class="clear"></div>
</div><div class="rbox_br"><div class="rbox_bl"><div class="rbox_b">&nbsp;</div></div></div></div>
		</div>
	</div>
		<div class="odd" id="comment-item-3751">
<div class="rbox"><div class="rbox_tr"><div class="rbox_tl"><div class="rbox_t">&nbsp;</div></div></div><div class="rbox_m">
<div class="comment-avatar"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/avatar(9).php" alt="vitaliy"></div>
<div class="comment-box avatar-indent">
<a class="comment-anchor" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#comment-3751" id="comment-3751">#</a>
<span class="comment-author">vitaliy</span>
<span class="comment-date">31.01.2014 18:13</span>
<div class="comment-body" id="comment-body-3751">И будет использоваться 4 порта,вместо пяти.<br>Еще раз спасибо автору за материал.Особен<span style="font-size:0;padding:0;margin:0;"> </span>но радует совместное использование портов для клавы и LCD.Проверял в реальном железе,усе работает.Резист<span style="font-size:0;padding:0;margin:0;"> </span>оры по 100 Ом.</div>
<span class="comments-buttons">
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(3751); return false;">Ответить</a>
 | <a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.showReply(3751,1); return false;">Ответить с цитатой</a> | 
<a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" onclick="jcomments.quoteComment(3751); return false;">Цитировать</a>
</span>
</div><div class="clear"></div>
</div><div class="rbox_br"><div class="rbox_bl"><div class="rbox_b">&nbsp;</div></div></div></div>
		</div>
</div>
<div id="comments-list-footer"><a class="refresh" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" title="Обновить список комментариев" onclick="jcomments.showPage(109,&#39;com_k2&#39;,0);return false;">Обновить список комментариев</a><br><a class="rss" href="http://chipenable.ru/index.php/component/jcomments/feed/com_k2/109.html" title="RSS лента комментариев этой записи" target="_blank">RSS лента комментариев этой записи</a></div>
</div>
<h4>Добавить комментарий</h4>
<div class="comments-policy"><b>При добавлении в комментарий Си кода, заключайте его между тегами [code] [/code]. Иначе он будет отображаться некорректно.</b></div>
<form id="comments-form" name="comments-form" action="javascript:void(null);">
<p>
	<span>
		<input id="comments-form-name" type="text" name="name" value="" maxlength="20" size="22" tabindex="1">
		<label for="comments-form-name">Имя (обязательное)</label>
	</span>
</p>
<p>
	<span>
		<input id="comments-form-email" type="text" name="email" value="" size="22" tabindex="2">
		<label for="comments-form-email">E-Mail (обязательное)</label>
	</span>
</p>
<p>
	<span>
		<span class="bbcode" style="display: block;"><a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" id="bbcode-b" title="Жирный" class="bbcode-b" style="display: block;"></a><a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" id="bbcode-i" title="Курсив" class="bbcode-i" style="display: block;"></a><a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" id="bbcode-u" title="Подчеркнутый" class="bbcode-u" style="display: block;"></a><a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" id="bbcode-s" title="Зачеркнутый" class="bbcode-s" style="display: block;"></a><a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" id="bbcode-quote" title="Цитата" class="bbcode-quote" style="display: block;"></a><a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" id="bbcode-list" title="Список" class="bbcode-list" style="display: block;"></a><a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" id="custombbcode11" title="Добавить код" class="custombbcode11" style="display: block;"></a><a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" class="bbcode-smile" style="display: block;"></a></span><textarea id="comments-form-comment" name="comment" cols="65" rows="8" tabindex="5"></textarea><div class="grippie"><span class="counter">Осталось: <span>2000</span>  символов</span></div>
	</span>
</p>
<p>
	<span>
		<input class="checkbox" id="comments-form-subscribe" type="checkbox" name="subscribe" value="1" tabindex="5">
		<label for="comments-form-subscribe">Подписаться на уведомления о новых комментариях</label><br>
	</span>
</p>
<p>
	<span>
		<img class="captcha" onclick="jcomments.clear(&#39;captcha&#39;);" id="comments-form-captcha-image" src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/66236.html" width="121" height="60" alt="Защитный код"><br>
		<span class="captcha" onclick="jcomments.clear(&#39;captcha&#39;);">Обновить</span><br>
		<input class="captcha" id="comments-form-captcha" type="text" name="captcha_refid" value="" size="5" tabindex="6"><br>
	</span>
</p>
<div id="comments-form-buttons">
	<div class="btn" id="comments-form-send"><div><a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" tabindex="7" onclick="jcomments.saveComment();return false;" title="Отправить (Ctrl+Enter)">Отправить</a></div></div>
	<div class="btn" id="comments-form-cancel" style="display: none;"><div><a href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" tabindex="8" onclick="return false;" title="Отменить">Отменить</a></div></div>
	<div style="clear:both;"></div>
</div>
<div>
	<input type="hidden" name="object_id" value="109">
	<input type="hidden" name="object_group" value="com_k2">
</div>
</form><a id="addcomments" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#addcomments"></a>

<script type="text/javascript">
<!--
function JCommentsInitializeForm()
{
	var jcEditor = new JCommentsEditor('comments-form-comment', true);
	jcEditor.addButton('b','Жирный','Введите текст для форматирования');
	jcEditor.addButton('i','Курсив','Введите текст для форматирования');
	jcEditor.addButton('u','Подчеркнутый','Введите текст для форматирования');
	jcEditor.addButton('s','Зачеркнутый','Введите текст для форматирования');
	jcEditor.addButton('quote','Цитата','Введите текст цитаты');
	jcEditor.addButton('list','Список','Введите текст элемента списка');
	jcEditor.addButton('custombbcode11','Добавить код','Введите текст для форматирования','[code]','[/code]','','');
	jcEditor.initSmiles('http://chipenable.ru/components/com_jcomments/images/smiles');
	jcEditor.addSmile(':D','laugh.gif');
	jcEditor.addSmile(':lol:','lol.gif');
	jcEditor.addSmile(':-)','smile.gif');
	jcEditor.addSmile(';-)','wink.gif');
	jcEditor.addSmile('8)','cool.gif');
	jcEditor.addSmile(':-|','normal.gif');
	jcEditor.addSmile(':-*','whistling.gif');
	jcEditor.addSmile(':oops:','redface.gif');
	jcEditor.addSmile(':sad:','sad.gif');
	jcEditor.addSmile(':cry:','cry.gif');
	jcEditor.addSmile(':o','surprised.gif');
	jcEditor.addSmile(':-?','confused.gif');
	jcEditor.addSmile(':-x','sick.gif');
	jcEditor.addSmile(':eek:','shocked.gif');
	jcEditor.addSmile(':zzz','sleeping.gif');
	jcEditor.addSmile(':P','tongue.gif');
	jcEditor.addSmile(':roll:','rolleyes.gif');
	jcEditor.addSmile(':sigh:','unsure.gif');
	jcEditor.addCounter(2000, 'Осталось:', ' символов', 'counter');
	jcomments.setForm(new JCommentsForm('comments-form', jcEditor));
}

if (window.addEventListener) {window.addEventListener('load',JCommentsInitializeForm,false);}
else if (document.addEventListener){document.addEventListener('load',JCommentsInitializeForm,false);}
else if (window.attachEvent){window.attachEvent('onload',JCommentsInitializeForm);}
else {if (typeof window.onload=='function'){var oldload=window.onload;window.onload=function(){oldload();JCommentsInitializeForm();}} else window.onload=JCommentsInitializeForm;} 
//-->
</script>
<div id="comments-footer" align="center">
 
<a href="http://www.joomlatune.ru/" title="JComments" target="_blank" rel="nofollow">JComments1</a>

</div>

<script type="text/javascript">
<!--
jcomments.setAntiCache(1,1,0);
//-->
</script> 
</div>
</div>
				<div id="jc_vk_share_vk">		
			<div id="jlvkcomments" style="height: 202px; width: 600px; background-image: none; background-position: initial initial; background-repeat: initial initial;"><iframe name="fXD7afb3" frameborder="0" src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/widget_comments(1).htm" width="600" height="133" scrolling="no" id="vkwidget1" style="overflow: hidden; height: 202px;"></iframe></div>
			<script type="text/javascript">
			VK.Widgets.Comments('jlvkcomments', {limit: 5, width: '600', attach: '*', autoPublish: 1, norealtime: 0, onChange: addComment},109);
			</script>
			</div>
			</div>  
 
		<div class="itemBackToTop">
		<a class="k2Anchor" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#startOfPageId109">
			Наверх		</a>
	</div>
	
	<div class="clr"></div>
</div>
<!-- End K2 Item Layout -->

<!-- JoomlaWorks "K2" (v2.5.6) | Learn more about K2 at http://getk2.org -->


		</div>
		<div class="cleared"></div>
		
		
		</div>
		
		    </div>
		</div>
		


		<div class="moduletable chiptags">
					
<div id="k2ModuleBox112" class="k2TagCloudBlock  chiptags">
			<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/1wire.html" style="font-size:92%" title="5 материалов с тэгом 1wire">
		1wire	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/attiny.html" style="font-size:88%" title="4 материалов с тэгом attiny">
		attiny	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/avr.html" style="font-size:300%" title="56 материалов с тэгом avr">
		avr	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/avr%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D1%82%D0%BE%D1%80.html" style="font-size:88%" title="4 материалов с тэгом avr программатор">
		avr программатор	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/ds18b20.html" style="font-size:92%" title="5 материалов с тэгом ds18b20">
		ds18b20	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/eagle%20cad.html" style="font-size:84%" title="3 материалов с тэгом eagle cad">
		eagle cad	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/eeprom.html" style="font-size:92%" title="5 материалов с тэгом eeprom">
		eeprom	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/event%20driven.html" style="font-size:84%" title="3 материалов с тэгом event driven">
		event driven	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/i2c.html" style="font-size:96%" title="6 материалов с тэгом i2c">
		i2c	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/IAR.html" style="font-size:108%" title="9 материалов с тэгом IAR">
		IAR	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/KS0066.html" style="font-size:80%" title="2 материалов с тэгом KS0066">
		KS0066	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/lcd.html" style="font-size:96%" title="6 материалов с тэгом lcd">
		lcd	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/RTOS.html" style="font-size:80%" title="2 материалов с тэгом RTOS">
		RTOS	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/spi.html" style="font-size:84%" title="3 материалов с тэгом spi">
		spi	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/state%20machine.html" style="font-size:84%" title="3 материалов с тэгом state machine">
		state machine	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/tsop.html" style="font-size:88%" title="4 материалов с тэгом tsop">
		tsop	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/twi.html" style="font-size:96%" title="6 материалов с тэгом twi">
		twi	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/uart.html" style="font-size:84%" title="3 материалов с тэгом uart">
		uart	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/usb.html" style="font-size:84%" title="3 материалов с тэгом usb">
		usb	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/volatile.html" style="font-size:84%" title="3 материалов с тэгом volatile">
		volatile	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/WINAVR.html" style="font-size:84%" title="3 материалов с тэгом WINAVR">
		WINAVR	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/%D0%90%D0%A6%D0%9F%20%D0%BC%D0%B8%D0%BA%D1%80%D0%BE%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80%D0%B0%20AVR.html" style="font-size:80%" title="2 материалов с тэгом АЦП микроконтроллера AVR">
		АЦП микроконтроллера AVR	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B.html" style="font-size:120%" title="12 материалов с тэгом алгоритмы">
		алгоритмы	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/%D0%B0%D1%86%D0%BF.html" style="font-size:84%" title="3 материалов с тэгом ацп">
		ацп	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/%D0%B1%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B8.html" style="font-size:112%" title="10 материалов с тэгом библиотеки">
		библиотеки	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA.html" style="font-size:92%" title="5 материалов с тэгом датчик">
		датчик	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/%D0%B4%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80.html" style="font-size:96%" title="6 материалов с тэгом драйвер">
		драйвер	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/%D0%B8%D0%B7%D0%BC%D0%B5%D1%80%D0%B5%D0%BD%D0%B8%D1%8F.html" style="font-size:80%" title="2 материалов с тэгом измерения">
		измерения	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81.html" style="font-size:112%" title="10 материалов с тэгом интерфейс">
		интерфейс	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D1%8B.html" style="font-size:84%" title="3 материалов с тэгом интерфейсы">
		интерфейсы	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D1%80%D0%B0%D1%82%D0%BE%D1%80.html" style="font-size:80%" title="2 материалов с тэгом компаратор">
		компаратор	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D1%8B.html" style="font-size:96%" title="6 материалов с тэгом компоненты">
		компоненты	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D1%81%D1%8B.html" style="font-size:88%" title="4 материалов с тэгом макросы">
		макросы	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/%D0%BE%D1%83.html" style="font-size:88%" title="4 материалов с тэгом оу">
		оу	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/%D0%BF%D0%B5%D1%80%D0%B8%D1%84%D0%B5%D1%80%D0%B8%D1%8F.html" style="font-size:84%" title="3 материалов с тэгом периферия">
		периферия	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/%D0%BF%D0%B8%D1%82%D0%B0%D0%BD%D0%B8%D0%B5.html" style="font-size:80%" title="2 материалов с тэгом питание">
		питание	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%20lcd%20%D0%BA%20%D0%BC%D0%B8%D0%BA%D1%80%D0%BE%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80%D1%83.html" style="font-size:80%" title="2 материалов с тэгом подключение lcd к микроконтроллеру">
		подключение lcd к микроконтроллеру	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B2%D1%81%D1%82%D1%80%D0%B0%D0%B8%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D1%85%20%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC.html" style="font-size:80%" title="2 материалов с тэгом программирование встраиваемых систем">
		программирование встраиваемых систем	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BC%D0%B8%D0%BA%D1%80%D0%BE%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80%D0%BE%D0%B2.html" style="font-size:88%" title="4 материалов с тэгом программирование микроконтроллеров">
		программирование микроконтроллеров	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB.html" style="font-size:84%" title="3 материалов с тэгом протокол">
		протокол	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/%D1%80%D0%B0%D1%81%D1%87%D0%B5%D1%82.html" style="font-size:108%" title="9 материалов с тэгом расчет">
		расчет	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/%D1%81%D0%B5%D0%BC%D0%B8%D1%81%D0%B5%D0%B3%D0%BC%D0%B5%D0%BD%D1%82%D0%BD%D1%8B%D0%B9%20%D0%B8%D0%BD%D0%B4%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80.html" style="font-size:88%" title="4 материалов с тэгом семисегментный индикатор">
		семисегментный индикатор	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/%D1%81%D0%B8.html" style="font-size:116%" title="11 материалов с тэгом си">
		си	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D0%B9%D0%BD%D0%B0%D1%8F%20%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0.html" style="font-size:88%" title="4 материалов с тэгом событийная система">
		событийная система	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/%D1%81%D1%85%D0%B5%D0%BC%D0%BE%D1%82%D0%B5%D1%85%D0%BD%D0%B8%D0%BA%D0%B0.html" style="font-size:125%" title="13 материалов с тэгом схемотехника">
		схемотехника	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/%D1%82%D0%B0%D0%B9%D0%BC%D0%B5%D1%80.html" style="font-size:88%" title="4 материалов с тэгом таймер">
		таймер	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/%D1%83%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D0%B8.html" style="font-size:80%" title="2 материалов с тэгом указатели">
		указатели	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5.html" style="font-size:96%" title="6 материалов с тэгом управление">
		управление	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%B0.html" style="font-size:112%" title="10 материалов с тэгом устройства">
		устройства	</a>
				<a href="http://chipenable.ru/index.php/how-connection/itemlist/tag/%D1%83%D1%87%D0%B5%D0%B1%D0%BD%D1%8B%D0%B9%20%D0%BA%D1%83%D1%80%D1%81%20avr.html" style="font-size:145%" title="18 материалов с тэгом учебный курс avr">
		учебный курс avr	</a>
			<div class="clr"></div>
</div>
		</div>
	</div>

</div>
<div class="cleared"></div>


<div class="Footer">
 <div class="Footer-inner">
    <div class="Footer-text">
  		<div class="moduletable">
					

<div class="custom">
	<p style="text-align: center;">Использование материалов этого сайта разрешается только с письменного согласия автора.<br>Copyright © 2009-2013 ChipEnable.Ru&nbsp;</p></div>
		</div>
	





  </div>
 </div>
 <div class="Footer-background"></div>
</div>

    </div>
</div>
<div class="cleared"></div>
<p class="page-footer">  </p>
</div><script type="text/javascript" charset="UTF-8" async="" src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/pluso-like.js"></script>



 

<div id="sbox-overlay" aria-hidden="true" tabindex="-1" style="z-index: 65555; opacity: 0;"></div><div id="sbox-window" role="dialog" aria-hidden="true" class="shadow" style="z-index: 65557;"><div id="sbox-content" style="opacity: 0;"></div><a id="sbox-btn-close" href="http://chipenable.ru/index.php/programming-avr/item/109-biblioteka-dlya-oprosa-matrichnoy-klaviatury-4x4-i-3h4.html#" role="button" aria-controls="sbox-window"></a></div><div id="comments-form-smilespanel" style="display:none;top:0;left:0;position:absolute;"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/laugh.gif" alt=":D" class="smile"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/lol.gif" alt=":lol:" class="smile"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/smile.gif" alt=":-)" class="smile"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/wink.gif" alt=";-)" class="smile"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/cool.gif" alt="8)" class="smile"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/normal.gif" alt=":-|" class="smile"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/whistling.gif" alt=":-*" class="smile"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/redface.gif" alt=":oops:" class="smile"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/sad.gif" alt=":sad:" class="smile"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/cry.gif" alt=":cry:" class="smile"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/surprised.gif" alt=":o" class="smile"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/confused.gif" alt=":-?" class="smile"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/sick.gif" alt=":-x" class="smile"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/shocked.gif" alt=":eek:" class="smile"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/sleeping.gif" alt=":zzz" class="smile"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/tongue.gif" alt=":P" class="smile"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/rolleyes.gif" alt=":roll:" class="smile"><img src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/unsure.gif" alt=":sigh:" class="smile"></div><style type="text/css">.pluso{position:relative;z-index:1;display:inline-block;padding:0;-webkit-border-radius:22px;-moz-border-radius:22px;border-radius:22px;background:transparent;text-align:left;font-size:0;line-height:0;*display:inline;*zoom:1;}
.pluso span{float:none;}
.pluso-010010101001-06 a:active{ opacity:.6; }
.pluso-010010101001-06 .pluso-wrap a{display:inline-block;vertical-align:inherit;margin:5px 0 0 5px;padding:0;width:40px;height:40px;background:url(http://share.pluso.ru/img/pluso-like/round/big/04.png) 0 0 transparent no-repeat;}
.pluso-wrap{margin:0px !important;}
.pluso-010010101001-06 .pluso-wrap{position:relative;z-index:1;display:inline-block;padding:0 5px 5px 0;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;background:transparent;text-align:left;font-size:0;line-height:0;*display:inline;*zoom:1;}
.pluso-010010101001-06 a.pluso-more{width:40px;height:40px;background:url(http://share.pluso.ru/img/plus.png) 0 -60px no-repeat!important;position:relative;}
.pluso-010010101001-06 a.pluso-more{margin-right:-22px;*left:5px;}
.pluso-010010101001-06 .pluso-counter b{position:relative;padding:8px 12px;-webkit-border-radius: 22px;-moz-border-radius: 22px;border-radius: 122px;background:#eaeaeb;box-shadow:0 0 3px rgba(0,0,0,.3);color:#707070;white-space:nowrap;font:16px/40px Tahoma, Geneva, sans-serif!important;}
.pluso-010010101001-06 .pluso-counter{position:relative;padding-right:28px;}
.pluso-010010101001-06 .pluso-counter b{top:-14px;left:28px;}
.pluso-010010101001-06 .pluso-counter b:after{position: absolute;top: 13px;left: -8px;z-index: 0;display: block;width: 0;border-width: 5px 9px 5px 0;border-style: solid;border-color: transparent #eaeaeb;content: '';}
.pluso-010010101001-06 br{ display:none; }
.pluso-box{position:absolute;border:4px solid #eaebea;width:310px;height:225px;overflow:hidden;z-index: 777;background:#f2f2f2;font:normal normal 12px/25px Tahoma, Geneva, sans-serif;box-shadow:0 4px 10px rgba(0, 0, 0, 0.4);text-align:left;-webkit-border-radius:14px;-moz-border-radius:14px;border-radius:14px;}
.pluso-box a b{width:20px;height:20px;position:absolute;left:0;top:2px;}
.pluso-box a:visited,.pluso-box a:hover,.pluso-box a{font:normal normal 12px/25px Tahoma, Geneva, sans-serif;color:#7f7f7f;text-decoration:none;white-space:nowrap;padding:0 0 0 25px;margin:0 0 0 5px;border:0;position:relative;width:115px;float:left;}
.pluso-box .pluso-list{background:#ffffff;border-radius:14px;width:100%;height:200px;overflow:auto;position:absolute;left:0;top:25px;}
.pluso-box a.pluso-logo{background:url(http://share.pluso.ru/img/pluso-like/logo-mini.png) 0 5px no-repeat;width:66px;height:19px;border:0;text-indent:-600em;padding:0 0 0 12px;margin:0 0 0 9px;}
.pluso-box a.pluso-go{color:#4c4c4c;text-decoration:underline;padding-left:0;}
.pluso-box a.pluso-close,.pluso-box a.pluso-close:hover,.pluso-box a.pluso-close:visited{float:right;width:20px;text-align:center;font-size:12px;line-height:20px;width:20px;margin:1px 1px 0 0;padding:0;font-weight:bold;color:#4c4c4c;text-decoration:none;background:#ffffff;border-radius:15px;border:1px solid #eaebea;}
.pluso-box a.pluso-close:hover{background:#7f7f7f;color:#ffffff;border-color:transparent}
.pluso-tip{cursor:pointer;position:absolute;padding:10px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;white-space:nowrap;font:bold 14px/12px Tahoma, Geneva, sans-serif!important;color:#fff;background:#f78d1d;background:-webkit-gradient(linear, left top, left bottom, from(#7ed263), to(#3d9530));background:-webkit-linear-gradient(top,#7ed263,#3d9530);background:-moz-linear-gradient(top,#7ed263,#3d9530);background:-ms-linear-gradient(top,#7ed263,#3d9530);background:-o-linear-gradient(top,#7ed263,#3d9530);background:linear-gradient(top,#7ed263,#3d9530);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=#7ed263, endColorstr=#3d9530);box-shadow:0 0 5px rgba(0,0,0,.5), inset 0 0 0px 1px rgba(0,0,0,.3)}
.pluso-tip:after{position:absolute;z-index:0;display:block;width:0;height:0;border-style: solid;content:''}
.pluso-tip.pluso-left-arrow:after{top:40%;right:-6px;border-color:transparent #447b36;border-width:6px 0px 6px 6px}
.pluso-tip.pluso-top-arrow:after{bottom:-6px;border-color:#27601f transparent;border-width:6px 6px 0px 6px}
.pluso-tip.pluso-bottom-arrow:after{top:-6px;border-color:#447b36 transparent;border-width:0px 6px 6px 6px}
@keyframes pluso-market-animate{0% { opacity:1 } 50%{ opacity:.3} 100% { opacity:1}}
@-webkit-keyframes pluso-market-animate{0% { opacity:1 } 50%{ opacity:.3} 100% { opacity:1}}
.pluso-overlay-background{height:100%;width:100%;position:fixed;left:0;top:0;z-index:999999999;background-color: rgb(0, 0, 0);background-color: rgba(0, 0, 0, 0.6);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000);-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)";padding:0;margin:0;}
.pluso-overlay-box{width:910px;margin: 50px auto 0;overflow:hidden;height:85%;background-color: #f5f5f5;border:1px solid #c4c4c4;padding:0!important;text-align:left;box-shadow:0 4px 12px rgba(0, 0, 0, 0.4), 0 1px 0 rgba(255, 255, 255, 0.5) inset;border-radius:10px;}
a.pluso-overlay-close,a.pluso-overlay-close:hover,a.pluso-overlay-close:visited{position:absolute;left:50%;margin:0 0 0 442px;top:38px;width:26px;height:26px;text-align:center;font:normal 20px/22px Arial;padding:0;color:#878787;text-decoration:none;background:#ffffff;border-radius:26px;border:2px solid #c4c4c4;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}
a.pluso-overlay-close:hover{background:#7f7f7f;color:#ffffff;border-color:transparent}
.pluso-overlay-box div{margin:20px 0 0 0;padding:0 0 12px 0;border-bottom:1px solid #c4c4c4;}
.pluso-overlay-box ul{list-style:none;margin:10px 0 10px 0px;padding:0;height:85%;overflow:auto;}
.pluso-overlay-box li{width:210px;height:260px;background:#ffffff;border-radius:10px;border:none;float:left;padding:0;margin:0 0px 10px 10px;}
.pluso-overlay-box li a{display:block;text-decoration:none;margin:0;padding:0;height:100%;overflow:hidden;position:relative;}
.pluso-overlay-box li a span, .pluso-overlay-box li a:hover span{position: relative;width: 190px;height:150px;border:1px solid #c4c4c4;overflow:hidden;margin:10px auto 5px auto;padding:0;text-align:center;display:block;}
.pluso-overlay-box li a:hover span{box-shadow:0 0 5px #c4c4c4;-webkit-box-shadow:0 0 5px #c4c4c4;border:1px solid #c4c4c4}
.pluso-overlay-box li a em{font:normal bold 15px/20px Arial;float:left;color:#e86340;padding:0px 0 0 10px;margin:0;}
.pluso-overlay-box li a em u{font:normal normal 12px/12px Arial;text-decoration:none;display:block;color:#eb6338;padding:0;margin:0;}
.pluso-overlay-box li a strong{font:normal 11px/14px Arial;display:block;padding:0 10px;color:#454545;position:relative;bottom:auto;height:42px;width:180px;overflow:hidden;margin:0 0 5px 0;border:0;}
.pluso-overlay-box li a:hover strong{height:42px;overflow:auto;padding:0 10px;border:0;}
.pluso-overlay-box li a b, .pluso-overlay-box li a b:hover, .pluso-overlay-box li a b:active{font:bold normal 15px/18px Arial, sans-serif;color: #ffffff;padding-top: 7px;padding-right: 12px;padding-bottom: 7px;padding-left: 12px;text-decoration: none;-webkit-border-radius: 5px;-moz-border-radius: 5px;border-radius: 5px;-webkit-box-shadow: inset 0px -1px 2px rgba(255,255,255,.5);-moz-box-shadow: inset 0px -1px 2px rgba(255,255,255,.5);box-shadow: inset 0px -1px 2px rgba(255,255,255,.5);text-shadow: 0px 1px 2px #3d8a33;border:solid #4bb543 1px;background:-webkit-gradient(linear, 0 0, 0 100%, from(#95e488), to(#20a517));background: -moz-linear-gradient(top, #95e488, #20a517);background: -o-linear-gradient(top, #95e488, #20a517);-ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorStr=#95e488, endColorStr=#20a517);filter: progid:DXImageTransform.Microsoft.gradient(startColorStr=#95e488, endColorStr=#20a517);display:inline-block;float:right;bottom:auto;right:10px;position:relative;}
.pluso-overlay-box li a b:hover{background:-webkit-gradient(linear, 0 0, 0 100%, from(#b1f4a3), to(#27c21c));background: -moz-linear-gradient(top, #b1f4a3, #27c21c);background:-o-linear-gradient(top, #b1f4a3, #27c21c);-ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorStr=#b1f4a3, endColorStr=#27c21c);filter: progid:DXImageTransform.Microsoft.gradient(startColorStr=#b1f4a3, endColorStr=#27c21c);}
.pluso-overlay-box li a b:active{background:-webkit-gradient(linear, 0 0, 0 100%, from(#20a517), to(#95e488));background: -moz-linear-gradient(top, #20a517, #95e488);background:-o-linear-gradient(top, #20a517, #95e488);-ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorStr=#20a517, endColorStr=#95e488);filter: progid:DXImageTransform.Microsoft.gradient(startColorStr=#20a517, endColorStr=#95e488);}
.pluso-010010101001-06 .pluso-wrap a{ background-image:url(http://share.pluso.ru/img/pluso-like/square/big/06.png) }.pluso-010010101001-06 .pluso-wrap a.pluso-market-cart, .pluso-010010101001-06 .pluso-wrap a.pluso-market-cart-animate{ background:url(http://share.pluso.ru/img/pluso-like/square/big/market.png) -0px 0}.pluso-010010101001-06 .pluso-wrap a.pluso-market-cart-animate{animation: pluso-market-animate 3s linear infinite alternate;-webkit-animation: pluso-market-animate 3s linear infinite alternate;}.pluso-010010101001-06 .pluso-wrap a.pluso-market-dollar, .pluso-010010101001-06 .pluso-wrap a.pluso-market-dollar-animate{ background:url(http://share.pluso.ru/img/pluso-like/square/big/market.png) -42px 0}.pluso-010010101001-06 .pluso-wrap a.pluso-market-dollar-animate{animation: pluso-market-animate 3s linear infinite alternate;-webkit-animation: pluso-market-animate 3s linear infinite alternate;}.pluso-010010101001-06 .pluso-wrap a.pluso-market-bulb, .pluso-010010101001-06 .pluso-wrap a.pluso-market-bulb-animate{ background:url(http://share.pluso.ru/img/pluso-like/square/big/market.png) -84px 0}.pluso-010010101001-06 .pluso-wrap a.pluso-market-bulb-animate{animation: pluso-market-animate 3s linear infinite alternate;-webkit-animation: pluso-market-animate 3s linear infinite alternate;}.pluso-010010101001-06 .pluso-wrap a.pluso-market-quest, .pluso-010010101001-06 .pluso-wrap a.pluso-market-quest-animate{ background:url(http://share.pluso.ru/img/pluso-like/square/big/market.png) -126px 0}.pluso-010010101001-06 .pluso-wrap a.pluso-market-quest-animate{animation: pluso-market-animate 3s linear infinite alternate;-webkit-animation: pluso-market-animate 3s linear infinite alternate;}.pluso-010010101001-06 .pluso-wrap a.pluso-market-tag, .pluso-010010101001-06 .pluso-wrap a.pluso-market-tag-animate{ background:url(http://share.pluso.ru/img/pluso-like/square/big/market.png) -168px 0}.pluso-010010101001-06 .pluso-wrap a.pluso-market-tag-animate{animation: pluso-market-animate 3s linear infinite alternate;-webkit-animation: pluso-market-animate 3s linear infinite alternate;}.pluso-box a b{ background-image:url(http://share.pluso.ru/img/pluso-like/round/small/04.png) }.pluso-box a.pluso-market b{ background:url(http://share.pluso.ru/img/pluso-like/round/small/market.png) -21px 0}.pluso-box a.pluso-vkontakte b{ background-position: -84px 0}.pluso-box a.pluso-odnoklassniki b{ background-position: -63px 0}.pluso-box a.pluso-facebook b{ background-position: -0px 0}.pluso-box a.pluso-twitter b{ background-position: -21px 0}.pluso-box a.pluso-google b{ background-position: -126px 0}.pluso-box a.pluso-moimir b{ background-position: -147px 0}.pluso-box a.pluso-pinterest b{ background-position: -105px 0}.pluso-box a.pluso-livejournal b{ background-position: -168px 0}.pluso-box a.pluso-tumblr b{ background-position: -42px 0}.pluso-box a.pluso-liveinternet b{ background-position: -189px 0}.pluso-box a.pluso-springpad b{ background-position: -210px 0}.pluso-box a.pluso-stumbleupon b{ background-position: -231px 0}.pluso-box a.pluso-myspace b{ background-position: -252px 0}.pluso-box a.pluso-formspring b{ background-position: -273px 0}.pluso-box a.pluso-blogger b{ background-position: -294px 0}.pluso-box a.pluso-digg b{ background-position: -315px 0}.pluso-box a.pluso-surfingbird b{ background-position: -336px 0}.pluso-box a.pluso-bobrdobr b{ background-position: -357px 0}.pluso-box a.pluso-readability b{ background-position: -378px 0}.pluso-box a.pluso-instapaper b{ background-position: -399px 0}.pluso-box a.pluso-evernote b{ background-position: -420px 0}.pluso-box a.pluso-delicious b{ background-position: -525px 0}.pluso-box a.pluso-vkrugu b{ background-position: -504px 0}.pluso-box a.pluso-pinme b{ background-position: -546px 0}.pluso-box a.pluso-yandex b{ background-position: -567px 0}.pluso-box a.pluso-yazakladki b{ background-position: -588px 0}.pluso-box a.pluso-moikrug b{ background-position: -609px 0}.pluso-box a.pluso-googlebookmark b{ background-position: -630px 0}.pluso-box a.pluso-yahoo b{ background-position: -651px 0}.pluso-box a.pluso-moemesto b{ background-position: -672px 0}.pluso-box a.pluso-memori b{ background-position: -693px 0}.pluso-box a.pluso-juick b{ background-position: -735px 0}.pluso-box a.pluso-linkedin b{ background-position: -756px 0}.pluso-box a.pluso-webdiscover b{ background-position: -798px 0}.pluso-box a.pluso-bookmark b{ background-position: -441px 0}.pluso-box a.pluso-email b{ background-position: -462px 0}.pluso-box a.pluso-print b{ background-position: -483px 0}.pluso-box a.pluso-webmoney b{ background-position: -924px 0}.pluso-box a.pluso-misterwong b{ background-position: -903px 0}.pluso-box a.pluso-friendfeed b{ background-position: -882px 0}.pluso-box a.pluso-market b{ background-position: --21px 0}.pluso-010010101001-06 .pluso-wrap a.pluso-vkontakte{ background-position: -168px 0}.pluso-010010101001-06 .pluso-wrap a.pluso-odnoklassniki{ background-position: -126px 0}.pluso-010010101001-06 .pluso-wrap a.pluso-facebook{ background-position: -0px 0}.pluso-010010101001-06 .pluso-wrap a.pluso-twitter{ background-position: -42px 0}.pluso-010010101001-06 .pluso-wrap a.pluso-google{ background-position: -252px 0}.pluso-010010101001-06 .pluso-wrap a.pluso-moimir{ background-position: -294px 0}.pluso-010010101001-06 .pluso-wrap a.pluso-email{ background-position: -924px 0}.pluso-010010101001-06 .pluso-wrap a.pluso-print{ background-position: -966px 0}</style><script type="text/javascript" charset="UTF-8" async="" src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/process"></script><script type="text/javascript" charset="UTF-8" async="" id="xidx-ui" src="./Библиотека для опроса матричной клавиатуры 4x4 и 3х4_files/xidx-master.js"></script></body></html>